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。鍵欄是否已編索引
如果
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 節,「產生的不可見主鍵」。