8.SQLにおけるコメント、コメントアウトの書き方

SQLにおけるコメント、コメントアウトの書き方

ここまでMySQLクライアントから直接SQL文を実行してきましたが、実際にMySQLを使用する際は実行内容をSQLファイルに書き出しておき、それを読み込んで実行するのが一般的です。

そのためSQLにもコメントを書く方法が用意されています。コメントは簡単なメモ書きに使えるほか、実行時に無視されるため一時的に特定部分の命令を無効にしたい場合にもよく使われます。

1行コメントの書き方

1行だけコメントアウトしたい場合は次のように先頭にハイフン2つと半角スペースを付けるか、シャープと半角スペースに続けてコメントを記述します。

-- この行はコメントです。
# この行はコメントです。

例えば、レコードを挿入する命令のうち1部分のみを無効化したい場合は次のように記述します。

INSERT INTO titles (author_id, post_title) VALUES
  -- (1, 'MySQLとは'), 
  (2, 'SQLとはなにか');

このコードを実行しても — (1, ‘MySQLとは’), の部分は無効化されているため実行されません。

コメントはこのように命令を一部無効化することで、問題が起きている箇所と正常に動作している箇所を切り分けるためにも便利です。

複数行コメントの書き方

複数行のコメントを書くには次のように、/* と */ で該当箇所を囲ってあげます。

/*
この行はコメントです。
この行もコメントです。
*/

例えば次のように記述するとINSERT文の内容を全て無効化することができます。

DROP TABLE IF EXISTS titles;

CREATE TABLE titles (
  author_id INT,
  post_title VARCHAR(50)
);

DESC titles;
SHOW TABLES;

/*
INSERT INTO titles (author_id, post_title) VALUES
  (1, 'MySQLとは'),
  (2, 'SQLとはなにか');
*/

SELECT * FROM titles;

記述を残したまま無効化できるため、元に戻したい時はコードを書き直さなくてもコメントアウトを解除するだけで済みます。

このエントリーをはてなブックマークに追加

コメントを残す

頂いたコメントは一読した後表示させて頂いております。
反映まで数日かかる場合もございますがご了承下さい。