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_namedb_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 節「產生的隱形主鍵」。