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
。鍵
欄是否已編索引
如果
Key
為空,則表示欄未編索引,或僅在多欄的非唯一索引中作為次要欄編索引。如果
Key
為PRI
,則表示該欄為PRIMARY KEY
,或為多欄PRIMARY KEY
中的其中一欄。如果
Key
為UNI
,則表示該欄為UNIQUE
索引的第一欄。(UNIQUE
索引允許有多個NULL
值,但您可以檢查Null
欄位來判斷欄是否允許NULL
。)如果
Key
為MUL
,則表示該欄為非唯一索引的第一欄,其中允許在欄內多次出現給定值。
如果有多個
Key
值適用於資料表的給定欄,則Key
會按照PRI
、UNI
、MUL
的優先順序顯示最高優先順序的值。如果
UNIQUE
索引不能包含NULL
值,且資料表中沒有PRIMARY KEY
,則UNIQUE
索引可能會顯示為PRI
。如果多個欄形成複合的UNIQUE
索引,則UNIQUE
索引可能會顯示為MUL
;雖然這些欄的組合是唯一的,但每個欄仍然可以保留多次出現的給定值。預設值
欄的預設值。如果欄具有明確的
NULL
預設值,或如果欄定義不包含DEFAULT
子句,則此值為NULL
。額外資訊
關於給定欄的任何其他可用資訊。在以下情況下,值為非空值
權限
您對欄擁有的權限。此值僅在您使用
FULL
關鍵字時顯示。註解
包含在欄定義中的任何註解。此值僅在您使用
FULL
關鍵字時顯示。
資料表欄資訊也可以從 INFORMATION_SCHEMA
COLUMNS
資料表取得。請參閱 第 28.3.8 節,「INFORMATION_SCHEMA COLUMNS 資料表」。關於隱藏欄的延伸資訊僅可使用 SHOW EXTENDED COLUMNS
取得;無法從 COLUMNS
資料表取得。
您可以使用 mysqlshow 資料庫名稱
資料表名稱
命令列出資料表的欄。
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 節,「產生的不可見主鍵」。