SQLのコメントの使い方 主要DBMSだけでもこれだけ違う 独自拡張機能も
  • facebookページ
  • twitterページ
  • 2019.09.05

    SQLのコメントの使い方 主要DBMSだけでもこれだけ違う 独自拡張機能も

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

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

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

    SQLコメントの使い方比較

    Oracleのコメント使用方法

    REMARK

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

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

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

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

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

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

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

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

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

    MySQLのコメント使用方法

    # (シャープ)

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

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

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

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

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

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

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

    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では、コメントの入れ子が可能です。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    sys.sp_addextendedpropertyを使います。

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

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

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

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

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

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

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

    SQLのコメントまとめ

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

    ポテパンが提供するサービスについて

    本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。

    ポテパンフリーランス

    ポテパンフリーランス

    フリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。また、これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!フリーエンジニアになりたい方向けのコンテンツも盛りだくさんです。

    ポテパンキャリア

    ポテパンキャリア

    エンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。年収800万円以上のハイスペック転職をご希望の方は「ポテパンプロフェッショナル」もご用意しておりますのでご利用下さいませ。

    ポテパンキャンプ

    ポテパンキャンプ

    ポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。すでに本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。なお、本スクールは受講料25万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。



    株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。気になるサービスがあれば、ぜひ覗いてみてください!

    ポテクラバナー ポテプロバナー

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE

    ポテパンおすすめ案件