SQL文のコメント&テーブル定義のコメントの書き方について
SQL文にも、実行とは無関係に2種類のコメントの書き方があります(コメントアウトも出来る)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
-- その1、スラッシュじゃなくてハイフン×2って珍しい(改行まで) /* その2、C言語と同じパターン 複数行OK! コメントアウトに一番使う! */ CREATE TABLE `tbl_test` ( `primary_key` int(10) primary key comment '主キーのコメント', `test_int` int(11) NOT NULL comment 'intのコメント', `test_str` varchar(255) NOT NULL comment 'strのコメント', `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' comment 'created_atのコメント', `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' comment 'updated_atのコメント', `deleted_at` timestamp NULL DEFAULT NULL comment 'deleted_atのコメント' ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci comment='このテーブルのコメント'; |
以上のようにテーブル定義の時に、テーブル自体と各カラムにもcomment構文が付与できる。
これは単純なコメントアウトではなくテーブル情報となり、後から参照できる。(DB定義書など自動生成する時にありがいたい!)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
-- テーブルのコメント表示 mysql> select table_comment from information_schema.tables where table_name='tbl_test'; +------------------------+ | table_comment | +------------------------+ | このテーブルのコメント | +------------------------+ 1 row in set (0.01 sec) --テーブルを指定して、各カラムのコメントを表示 mysql> select column_name, column_comment from information_schema.columns where table_name='tbl_test'; +-------------+----------------------+ | column_name | column_comment | +-------------+----------------------+ | primary_key | 主キーのコメント | | test_int | intのコメント | | test_str | strのコメント | | created_at | created_atのコメント | | updated_at | updated_atのコメント | | deleted_at | deleted_atのコメント | +-------------+----------------------+ 6 rows in set (0.02 sec) |
コメントがあると、あとで見る人(三ヶ月前の自分は他人)が助かります!