- 特定のスキーマにあるテーブル名とコメントを一覧形式で取得したい
- 特定のテーブルにあるカラム名とコメントを一覧形式で取得したい
MySQLを扱っていると、既に存在するデータベースを活用してシステムや追加機能を設計する際に、一覧形式で情報を取得したくなることがある。
今回はMySQLにてスキーマのテーブル、カラム名、コメントを一覧で取得する方法を紹介する。
定義情報の一覧取得
データではない定義情報の取得には INFORMATION_SCHEMA
を用いる。
INFORMATION_SCHEMA
にはテーブル名やカラム名など色々な情報が保存されている。
詳細については公式サイトをご参考。
テーブル名とコメントの一覧を取得
テーブル名とコメントの一覧を取得するSQL文は以下の通り。
SELECT table_name, table_comment FROM information_schema.tables WHERE table_schema = database();
table_schema = database()
でログインしているスキーマを参照しているので、別のスキーマの情報を知りたい場合はツール上でスキーマをダブルクリックするなりしてスキーマを切り替えるか、 database()
の部分を任意のスキーマ名に変えると目的のスキーマ情報を取得できる。
カラム名とコメントの一覧を取得
カラム名とコメントの一覧を取得するSQL文は以下の通り。
select * from INFORMATION_SCHEMA.COLUMNS where TABLE_SCHEMA = [DB名] and TABLE_NAME = [テーブル名] order by TABLE_NAME;
まとめ
MySQLでテーブル名やカラム名、コメントを取得したい場合は INFORMATION_SCHEMA
からselectすると取得できる。