Webサイト制作コースのお申し込みはこちら Webサイト制作コースのお申し込みはこちら

SQLのコメント使用方法は、DBMS(データベース管理システム)ごとに違います。

場合によっては、仕様が拡張されているケースもあります。

主要DBMSのSQLのコメントの使い方を見て行きましょう。

SQLコメントの使い方比較

Oracleのコメント使用方法

REMARK

行頭に「REMARK」と記述すると、行全体がコメントとして扱われます。

行の最後に「-」を記述すると、次の1行もコメントとして扱われます。しかし、複数行をコメントにする場合は、/* */を使用したほうがミスを防げるでしょう。

— (ハイフン・ハイフン)

行頭にハイフン・ハイフンを記述すると、行全体がコメントとして扱われます。

/* */ (スラッシュアスタリスク)

スラッシュアスタリスク「/*」から、アスタリスクスラッシュ「*/」までの範囲がコメント扱いになります。複数行範囲をコメントか可能。

OracleのSQL*Plusには、コメント行に空行を含めることができないという制限があります。

/*

テスト

*/
/*
 *
 * テスト
 *
*/

/*+ append */などの記述は、データベースオプティマイザへのヒント句となります。大量データの処理時など、人間がオプティマイザに対して指定をおこない、パフォーマンスを上げる目的で使われます。

オプティマイザ・ヒントの使用方法 (Oracle )

MySQLのコメント使用方法

# (シャープ)

行頭に「#」をつけると、行全体がコメント扱いになります。

— (ハイフン・ハイフン・空白)

行頭に「– 」をつけると、行全体がコメント扱いになります。

注意点は、ハイフン2つのあとに必ず半角空白または、制御文字(タブ、改行など)が必要な点。

/* */ (スラッシュアスタリスク)

スラッシュアスタリスク「/*」から、アスタリスクスラッシュ「*/」までの範囲がコメント扱いになります。

コメントの入れ子には非対応のため、以下の記述ではSyntaxエラーになります。

/*
 
 /* テスト */

*/
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*/' at line 5

MySQLには独自の機能があります。

/*! */で囲った部分は、MySQLではSQLとして実行されますが、他のDBMSではコメント扱いになります。

SQL独自のコードを記述する際に役立ちます。

また、/*!の後ろにバージョン番号を記載すると、指定バージョン未満ではコメント、指定バージョン以上ではSQLとして実行されます。

旧バージョンのMySQL対応に役立ちます。

ただし、/*!(バージョン番号)*/というコメントは、サーバには保存されない点に注意が必要です。

SQLServerのコメント使用方法

— (ハイフン・ハイフン)

行頭に「–」をつけると、行全体がコメント扱いになります。SQL Server Management Studioのクエリエディタだと、コメント部分は緑色の文字になります。

SQL Server Management Studioでは、コメントアウト・アンコメント(コメントを外す)のショートカットが可能。

Ctrl+K → Ctrl+Cでコメントアウト、Ctrl+K → Ctrl+Uでアンコメントとなります。

/* */ (スラッシュアスタリスク)

スラッシュアスタリスク「/*」から、アスタリスクスラッシュ「*/」までの範囲がコメント扱いになります。

SQL Serverでは、コメントの入れ子が可能です。

/*
/* テスト */
*/

コメントの入れ子が可能なことのデメリットもあります。

コメント中で「/*」が出現すると、終わりのコメントマーク「*/」が必要になります。

以下のコードではエラーとなります。

/*  
SELECT @a = '/*';  
*/

エラーを回避するには以下のように記述します。

/*  
SELECT @a = '/*';  */
*/

テーブルにコメントをつける

テーブルやカラムにコメントをつけることができます。簡易的なテーブル仕様書として利用できるため、都度テーブル定義書を参照しなくても、効率よく開発を進められます。

MySQLのテーブルにコメントをつける

データベースとして、MySQLのサンプルデータベースEmployeesを使っています。SQL実行結果の表示にはphpMyAdminを使用しています。

テーブル「salaries」のテーブルコメントを変更するSQLは以下の通り。

alter table salaries comment='給与テーブル';

テーブル「Salaries」のカラム「emp_no」のコメントに「社員番号」を設定するSQLは以下の通りです。

ALTER TABLE `salaries` CHANGE `emp_no` `emp_no` INT(11) NOT NULL COMMENT '社員番号';

MySQLではビューにコメントフィールド(TABLE_COMMENT)がありますが、ビューのコメントを変更する方法はありません。

MySQLでは、MySQL Workbenchを使うことで、ER図からデータベースを生成することができ、設計画面で指定したコメントが自動的に付与されます。(Enterprise Edition)

SQL Serverのテーブルにコメントをつける

SQL Serverでテーブルやカラムにコメントをつけるには、ストアドプロシジャ

sys.sp_addextendedpropertyを使います。

以下は、テーブルsalariesに「給与テーブル」というコメントをつける例。

EXEC sys.sp_addextendedproperty  @name=N'MS_Description'
                                ,@value=N'給与テーブル'
                                ,@level0type=N'SCHEMA'
                                ,@level0name=N'dbo'
                                ,@level1type=N'TABLE'
                                ,@level1name=N'salaries'

以下は、テーブルsalariesのemp_noカラムに「社員番号」というコメントをつける例です。

EXEC sys.sp_addextendedproperty  @name=N'MS_Description'
                                ,@value=N'社員番号'
                                ,@level0type=N'SCHEMA'
                                ,@level0name=N'dbo'
                                ,@level1type=N'TABLE'
                                ,@level1name=N'salaries'
                                ,@level2type=N'COLUMN'
                                ,@level2name=N'emp_no'

sp_addextendedproperty (TRANSACT-SQL) – SQL Server | Microsoft Docs

Oracleのテーブルにコメントをつける

以下のSQLは、テーブルsalariesに「給与テーブル」、カラム(列)「emp_no」に「社員番号」というコメントを付加する例です。

COMMENT ON TABLE salaries IS '給与テーブル';
COMMENT ON COLUMN salaries.emp_no IS '社員番号';

Oracle  Database SQL言語リファレンス COMMENT

Oracle、SQL Serverではビューやシーケンスにもコメントを付加することが可能です。

SQLのコメントまとめ

ポテパンダの一言メモ
  • コメントの記述方法には、DBMSごとに記述方法が異なる。
  • 多くのDBMSに共通するコメント記述方法は /* */
  • データベースのテーブル、カラムなどにコメントをつけることで簡易的なテーブル定義書として使える

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。