裏MySQLクエリー入門(7) 基礎編5 InformationSchema
InformationSchemaとは、テーブル名やカラム名などのシステム情報をテーブルの形でみせるシステムテーブルでSQLでいろいろ情報を取得できます。unixで言うところのprocシステムですね。SQLでシステム情報にアクセスできることで、システム情報と既存のテーブルをJOINしたりすることにより、出来ることがぐっと広がります。以下一例を出します。
- 都道府県テーブルのプライマリキーのカラムを取得
SELECT COLUMN_NAME FROM information_schema.`COLUMNS` WHERE TABLE_SCHEMA='DB名' AND TABLE_NAME='pref' AND COLUMN_KEY='PRI'
- 都道府県テーブルのプライマリキー以外のカラムを取得
SELECT COLUMN_NAME FROM information_schema.`COLUMNS` WHERE TABLE_SCHEMA='DB名' AND TABLE_NAME='pref' AND COLUMN_KEY<>'PRI'