タイトル: テーブル定義を確認
MariaDB / MySQL でテーブルの列構成・型・制約などのテーブル定義を確認する方法を紹介します。日々の運用で、CREATE TABLE 文を都度引っ張り出さなくても、コマンド一発で構造を確認できます。
1. もっとも簡単な方法: DESC
| DESC テーブル名; -- 同義 DESCRIBE テーブル名; EXPLAIN テーブル名; |
列名・型・NULL 許可・キー・デフォルト値・Extra (AUTO_INCREMENT 等) が一覧表示されます。日常的な確認はこれで足ります。
2. より詳細に: SHOW FULL COLUMNS
権限・コメント・照合順序などまで含めて確認したい場合は SHOW FULL COLUMNS を使います。
| SHOW FULL COLUMNS FROM テーブル名; |
3. CREATE 文の再現: SHOW CREATE TABLE
テーブルを再作成できる形の DDL を取得したい場合に便利です。インデックス・外部キー・ENGINE・CHARSET などすべて含めて表示されます。
| SHOW CREATE TABLE テーブル名; |
4. インデックス・キー情報の確認
| SHOW INDEX FROM テーブル名; SHOW KEYS FROM テーブル名; |
5. INFORMATION_SCHEMAでの取得
スクリプトや管理画面から取得する場合は、information_schema 内のシステムビューを SELECT すると扱いやすいです。
| SELECT column_name, column_type, is_nullable, column_default, column_comment FROM information_schema.columns WHERE table_schema = 'DB名' AND table_name = 'テーブル名' ORDER BY ordinal_position; |
主な確認コマンドの比較
| コマンド | 得られる情報 | 用途 |
|---|---|---|
DESC / DESCRIBE | 列名・型・NULL・キー・デフォルト・Extra | 日常的な確認 |
SHOW FULL COLUMNS | 上記+照合順序・権限・コメント | 権限・コメントも見たいとき |
SHOW CREATE TABLE | 再現可能な DDL すべて | 定義のバックアップ・他環境へのコピー |
SHOW INDEX | インデックス情報のみ | 性能調査・索引確認 |
information_schema.columns | 同上をテーブルとして扱える | スクリプト・管理画面 |
関連
- 親カテゴリ: コマンド一覧 (MariaDB)
- 関連: MySQL / MariaDB / SQL