13.3.1.DESCRIBE語法(獲取有關列的信息)
13.3.1. DESCRIBE語法(獲取有關列的信息)
{DESCRIBE | DESC} tbl_name [col_name | wild]
DESCRIBE可以提供有關表中各列的信息。它是SHOW COLUMNS FROM的快捷方式。這些語句也可以顯示語句,用于閱覽。
見13.5.4.3節,“SHOW COLUMNS語法”。
col_name可以是一個列名稱,或一個包含‘%’和‘_’的通配符的字符串,用于獲得對于帶有與字符串相匹配的名稱的各列的輸出。沒有必要在引號中包含字符串,除非其中包含空格或其它特殊字符。
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)
NULL字段指示是否NULL可以被存儲在列中。
Key字段指示是否該列已編制索引。PRI的值指示該列是表的主鍵的一部分。UNI指示,該列是UNIQUE索引的一部分。MUL值指示,在列中某個給定值多次出現是允許的。
MUL將被顯示在UNIQUE索引中,原因之一是多個列會組合成一個復合UNIQUE索引;盡管列的組合是唯一的,但每個列仍可以多次出現同一個給定值。注意,在復合索引中,只有索引最左邊的列可以進入Key字段中。
默認字段指示,默認值被賦予該列。
Extra字段包含可以獲取的與給定列有關的附加信息。在我們的例子中,Extra字段指示,Id列使用AUTO_INCREMENT關鍵詞創建。
如果列類型與您預計的依據CREATE TABLE語句得出的列類型不同,則請注意,MySQL有時會改變列類型。請參見13.1.5.1節,“沉寂的列規格變更”。
DESCRIBE語句被設立出來,用于與Oracle相兼容。
SHOW CREATE TABLE和SHOW TABLE STATUS語句也可以提供有關表的信息。請參見13.5.4節,“SHOW語法”。