SHOW [EXTENDED] [FULL] {COLUMNS | FIELDS}
{FROM | IN} tbl_name
[{FROM | IN} db_name]
[LIKE 'pattern' | WHERE expr]
SHOW COLUMNS
會顯示指定表格中的欄位資訊。它也適用於檢視表。SHOW COLUMNS
只會顯示您擁有某些權限的欄位資訊。
mysql> SHOW COLUMNS FROM City;
+-------------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+----------+------+-----+---------+----------------+
| ID | int(11) | NO | PRI | NULL | auto_increment |
| Name | char(35) | NO | | | |
| CountryCode | char(3) | NO | MUL | | |
| District | char(20) | NO | | | |
| Population | int(11) | NO | | 0 | |
+-------------+----------+------+-----+---------+----------------+
另一種
語法的替代方式是 tbl_name
FROM db_name
db_name.tbl_name
。這兩個語法是等效的。
SHOW COLUMNS FROM mytable FROM mydb;
SHOW COLUMNS FROM mydb.mytable;
選用的 EXTENDED
關鍵字會使輸出包含 MySQL 內部使用且使用者無法存取的隱藏欄位資訊。
選用的 FULL
關鍵字會使輸出包含欄位的校對和註解,以及您對每個欄位擁有的權限。
如果存在 LIKE
子句,則表示要比對的欄位名稱。可以使用 WHERE
子句,使用更一般化的條件來選擇資料列,如第 28.8 節「擴展 SHOW 語法」中所述。
資料類型可能與您根據 CREATE TABLE
語法所預期的不同,因為 MySQL 有時會在您建立或變更表格時變更資料類型。發生這種情況的條件在第 15.1.20.7 節「靜默的欄位規格變更」中描述。
SHOW COLUMNS
會顯示每個表格欄位的下列值:
欄位
欄位的名稱。
類型
欄位的資料類型。
校對
非二進位字串欄位的校對,或其他欄位的
NULL
。只有在使用FULL
關鍵字時才會顯示此值。Null
欄位的可空性。如果可以在欄位中儲存
NULL
值,則值為YES
,否則為NO
。索引鍵
欄位是否已建立索引
如果
索引鍵
為空,則欄位沒有建立索引,或是僅在多欄、非唯一索引中作為次要欄位建立索引。如果
索引鍵
為PRI
,則欄位為PRIMARY KEY
,或是多欄PRIMARY KEY
中的其中一個欄位。如果
索引鍵
為UNI
,則欄位為UNIQUE
索引的第一個欄位。(UNIQUE
索引允許存在多個NULL
值,但您可以透過檢查Null
欄位來判斷欄位是否允許NULL
。)如果
索引鍵
為MUL
,則欄位為非唯一索引的第一個欄位,其中允許欄位內存在給定值的多個實例。
如果表格的給定欄位適用多個
索引鍵
值,則索引鍵
會依照優先順序PRI
、UNI
、MUL
顯示優先順序最高的索引鍵。如果
UNIQUE
索引無法包含NULL
值,且表格中沒有PRIMARY KEY
,則可能會顯示為PRI
。如果多個欄位組成複合UNIQUE
索引,則UNIQUE
索引可能會顯示為MUL
;儘管欄位的組合是唯一的,但每個欄位仍然可以保留給定值的多個實例。預設值
欄位的預設值。如果欄位具有明確的
NULL
預設值,或是欄位定義不包含DEFAULT
子句,則此值為NULL
。額外
關於給定欄位的任何其他可用資訊。在下列情況下,此值為非空白:
權限
您對欄位擁有的權限。只有在使用
FULL
關鍵字時才會顯示此值。註解
欄位定義中包含的任何註解。只有在使用
FULL
關鍵字時才會顯示此值。
表格欄位資訊也可以從 INFORMATION_SCHEMA
COLUMNS
表格中取得。請參閱第 28.3.8 節「INFORMATION_SCHEMA COLUMNS 表格」。關於隱藏欄位的擴充資訊只能使用 SHOW EXTENDED COLUMNS
取得;無法從 COLUMNS
表格取得。
您可以使用 mysqlshow db_name
tbl_name
命令列出表格的欄位。
DESCRIBE
語法提供的資訊與 SHOW COLUMNS
類似。請參閱第 15.8.1 節「DESCRIBE 語法」。
SHOW CREATE TABLE
、SHOW TABLE STATUS
和 SHOW INDEX
語法也提供關於表格的資訊。請參閱第 15.7.7 節「SHOW 語法」。
預設情況下,SHOW COLUMNS
包含表格產生的隱形主鍵(如果有的話)。您可以透過設定 show_gipk_in_create_table_and_information_schema = OFF
來隱藏語法輸出中的此資訊。如需更多資訊,請參閱第 15.1.20.11 節「產生的隱形主鍵」。