{DESCRIBE | DESC}tbl_name
[col_name
|wild
]
DESCRIBE
はテーブル内のカラムについて情報を提供します。これは、SHOW
COLUMNS FROM
へのショートカットです。これらのステートメントもまたビューの情報を表示します。(詳しくは
項12.5.4.4. 「SHOW COLUMNS
構文」 を参照してください。)
col_name
は、カラム名、または SQL
‘%
’
を含む文字列、そして文字列と一致する名前を持つカラムにだけアウトプットを取得する
‘_
’
ワイルドカード文字になる事ができます。文字列がスペースやその他の特別な文字を含んでいない限り、それを引用句で囲む必要はありません。
mysql> DESCRIBE city;
+------------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+----------+------+-----+---------+----------------+
| Id | int(11) | NO | PRI | NULL | auto_increment |
| Name | char(35) | NO | | | |
| Country | char(3) | NO | UNI | | |
| District | char(20) | YES | MUL | | |
| Population | int(11) | NO | | 0 | |
+------------+----------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
Field
はカラム名を指示します。
Null
フィールドは
NULL
値がカラムの中に格納する事ができるかどうかを指示します。
Key
フィールドはカラムがインデックスされるかどうかを指示します。PRI
の値は、カラムがそのテーブルの主キーの一部であるかどうかを指示します。UNI
はそのカラムが UNIQUE
インデックスの一部である事を指示します。MUL
値は与えられた値のカラム内での複合発生が許容されている事を指示します。
MUL
が UNIQUE
インデックス上に表示されるひとつの理由は、いくつかのカラムが複合
UNIQUE
インデックスを形成するという事です。カラムの組み合わせが固有であっても、それぞれのカラムは与えられた値の複合発生を保持する事ができます。複合インデックスの中では、インデックスの左端のカラムだけが
Key
フィールド内でエントリーを持つという事に注意してください。
Default
フィールドは、カラムに割り当てられたデフォルト値を指示します。
Extra
フィールドは与えられたカラムについて有効な追加情報を含んでいます。表示された例の中で、Extra
フィールドは Id
カラムが
AUTO_INCREMENT
キーワードを利用して作成されたという事を指示しています。
CREATE TABLE
ステートメントに基づいていると思っていた物とデータ
タイプがもし異なっていたら、MySQL はデータ
タイプを変更する事があるという事に注意してください。詳しくは
項12.1.8.1. 「サイレント カラム仕様変更」
を参照してください。
DESCRIBE
ステートメントにはオラクルの互換性が提供されています。
SHOW CREATE TABLE
と SHOW TABLE
STATUS
ステートメントもテーブルについての情報を提供します。詳しくは
項12.5.4. 「SHOW
構文」 を参照してください。