DESCRIBE 構文

{DESCRIBE | DESC} tbl_name [col_name | wild]

DESCRIBE はテーブル内のカラムについて情報を提供します。これは、SHOW COLUMNS FROM へのショートカットです。これらのステートメントもまたビューの情報を表示します。(詳しくは 項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 値は与えられた値のカラム内での複合発生が許容されている事を指示します。

MULUNIQUE インデックス上に表示されるひとつの理由は、いくつかのカラムが複合 UNIQUE インデックスを形成するという事です。カラムの組み合わせが固有であっても、それぞれのカラムは与えられた値の複合発生を保持する事ができます。複合インデックスの中では、インデックスの左端のカラムだけが Key フィールド内でエントリーを持つという事に注意してください。

Default フィールドは、カラムに割り当てられたデフォルト値を指示します。

Extra フィールドは与えられたカラムについて有効な追加情報を含んでいます。表示された例の中で、Extra フィールドは Id カラムが AUTO_INCREMENT キーワードを利用して作成されたという事を指示しています。

CREATE TABLE ステートメントに基づいていると思っていた物とデータ タイプがもし異なっていたら、MySQL はデータ タイプを変更する事があるという事に注意してください。詳しくは 項1. 「サイレント カラム仕様変更」 を参照してください。

DESCRIBE ステートメントにはオラクルの互換性が提供されています。

SHOW CREATE TABLESHOW TABLE STATUS ステートメントもテーブルについての情報を提供します。詳しくは 項 「SHOW 構文」 を参照してください。