Categories: SQL言語

SQL記述文内でコメントアウトする。単一行・複数行用の書き方

今回は、MySQLやPostgreSQLに記述したSQL文内にメモを書く「コメントアウト」の方法について説明します。

他の汎用的なプログラミング言語と同様、SQLでも実操作のコード以外のコメントを書き残すことが可能です。1回限りのSQL文であれば、特に不要かもしれませんが、SQLファイルとして保存する場合や、他のユーザーと共有するSQL文については、コメントアウトがあることで、何の処理を行っているのか、客観的にも分かりやすくなります。

この記事では、SQL文内でコメントアウトする方法と、実際のMySQLとPostgreSQLでコメントアウトした実画像も紹介します。

SQL_コメントアウトの書き方

この章では、SQL文でコメントアウトする基本的な書き方を説明します。なお、当記事で実例として紹介するMySQLPostgreSQLでは、コメントアウトの記述が多少異なります。

コメントアウトとは

コメントアウトとは、汎用的なプログラミング言語であれば、ほぼすべての言語に含まれている機能です。

プログラミングコード内に、人間に理解しやすくさせるために書く説明文のことを「コメント」といい、「コメント」箇所のみプログラミング実行の対象外にすることを、コメントアウトといいます。

MySQLで書かれたコメントアウト

Excelのコメント機能をイメージすれば分かりやすいでしょう。

コメントアウトするには、それぞれの言語で定められたルールに基づいて書く必要があり、ルールが守られていないコメントは、プログラミングコードの一部として認識され、実行時にエラーが発生します。

コメントがなければ、コードだけで処理を解読する必要があるため、一般的にコードが長くなる場合や、他のユーザーに共有する場合には、適宜、コメントを書くことが望ましいとされています。

なお、コメントアウトには、1行のみコメントアウトさせる方法と、複数行に渡ってコメントアウトさせる方法があります。

コメントアウトの記述箇所

コメントアウトの記述箇所には、特にルールはありません。

SQL文に続けて書いても、SQL文の上の行に書いても効果は同じです。可読性を意識して書くようにしましょう。

たとえば、下記のコメントアウトはどちらも有効です。

SELECT * FROM Worker; #これはコメントです(テーブルWorkerからすべての列を抽出)
#これはコメントです(テーブルWorkerからすべての列を抽出)
SELECT * FROM Worker; 

1行のコメントアウト(MySQL・PostgreSQL)

まずは、MySQLとPostgreSQLで共通する単一行のコメントアウトの書き方です。※完全な共通ではありません。

「–」ハイフンを2つの後の文章がコメントアウトされる
MySQLの場合は、ハイフン2つの後に半角スペースが必要

MySQL
SELECT * FROM Worker; -- これはコメントです(テーブルWorkerからすべての列を抽出)

PostgreSQL
SELECT * FROM Worker; --これはコメントです(テーブルWorkerからすべての列を抽出)

上記の例では分かりづらいのですが、MySQLのハイフン2つの後には半角スペースが含まれています。

1行のコメントアウト(MySQLのみ)

MySQLでは、前述のハイフン2つと半角スペースの他にも、単一行をコメントアウトする書き方があります。これは、PostgreSQLでは使えません。

「#」シャープの後の文章がコメントアウトされる

MySQL
SELECT * FROM Worker; #これはコメントです(テーブルWorkerからすべての列を抽出)

複数行のコメントアウト(MySQLのみ・PostgreSQL)

コメントが長くなる場合には、1行で長く書くよりも、改行して複数行で書いたほうが可読性が高まる場合があります。下記は、MySQLとPostgreSQLで共通する複数行のコメントアウトの書き方です。

「/*」から「*/」までの間の文章がコメントアウトされる

MySQL・PostgreSQL

/*これはコメントです
 テーブルWorkerからすべての列を
 抽出するSQLです。適宜、修正して
 構いません*/
SELECT * FROM Worker; 

上記の「/*」から「*/」までの4行文がコメントアウトされます。行数に制限はありません。

実例_MySQLのコメントアウト

実際のRDBMS、MySQLでコメントアウトをした実画像を紹介します。

コメントアウト

— テーブルWorker(社員マスタ)のすべての列を抽出する
MySQLの注意点

MySQLの場合は、ハイフン2つの後に半角スペースが必須です。半角スペースがなければ、コメントアウトされずエラーが発生します。

実例_PostgreSQLのコメントアウト

実際のRDBMS、PostgreSQLでコメントアウトをした実画像を紹介します。

コメントアウト

–テーブルWorker(社員マスタ)のすべての列を抽出する

あとがき

今回は、MySQLとPostgreSQLでコメントアウトする書き方を記事にしました。

SQLでは、汎用的なプログラミング言語ほどコメントアウトを使わないと思いますが、SQLの可読性を高めたり、共有しやすくなるひとつの方法のため、使い方は覚えておきましょう。

Analytics沖縄

データサイエンス・機械学習・ディープラーニングを本格的に研究するフリーランスエンジニア。 「Google データアナリティクス プロフェッショナル」の認定証を取得済み。 この分野は専門知識がなければ理解し辛い情報が多いのですが、当サイトでは初学者も意識して発信していきますので、ご関心があればぜひご覧ください。

Recent Posts

SQLの種類|DDL、DML、DCL(命令言語の分類)

今回は、データベースに対する命…

5か月 ago

SQL|FROM句の使い方。基本構文とテーブル指定の実例

今回は、SQLの基本かつ使用頻…

5か月 ago

MySQLの日付型や時刻型で使う関数のフォーマット指定子

今回は、MySQLの日付型や時…

9か月 ago

SQL│文字列を日付型に変換するTo_Date・Convert

今回は、SQLで文字列を日付型…

9か月 ago