COLUMNS
表格提供表格中關於欄位的資訊。相關的 ST_GEOMETRY_COLUMNS
表格提供關於儲存空間資料的表格欄位的資訊。請參閱 第 28.3.35 節,「INFORMATION_SCHEMA ST_GEOMETRY_COLUMNS 表格」。
COLUMNS
表格包含以下欄位:
TABLE_CATALOG
包含欄位的表格所屬的目錄名稱。這個值永遠是
def
。TABLE_SCHEMA
包含欄位的表格所屬的結構描述(資料庫)名稱。
TABLE_NAME
包含欄位的表格名稱。
COLUMN_NAME
欄位的名稱。
ORDINAL_POSITION
欄位在表格中的位置。
ORDINAL_POSITION
是必要的,因為您可能想要使用ORDER BY ORDINAL_POSITION
。與SHOW COLUMNS
不同,從COLUMNS
表格使用SELECT
查詢不會自動排序。COLUMN_DEFAULT
欄位的預設值。如果欄位有明確的預設值
NULL
,或者如果欄位定義中不包含DEFAULT
子句,則此值為NULL
。IS_NULLABLE
欄位的可否為空值。如果欄位可以儲存
NULL
值,則值為YES
,否則為NO
。DATA_TYPE
欄位的資料類型。
DATA_TYPE
值僅為類型名稱,不包含其他資訊。COLUMN_TYPE
值包含類型名稱,以及可能包含的精確度或長度等其他資訊。CHARACTER_MAXIMUM_LENGTH
對於字串欄位,以字元表示的最大長度。
CHARACTER_OCTET_LENGTH
對於字串欄位,以位元組表示的最大長度。
NUMERIC_PRECISION
對於數值欄位,數值精確度。
NUMERIC_SCALE
對於數值欄位,數值小數位數。
DATETIME_PRECISION
對於時間欄位,秒的小數部分精確度。
CHARACTER_SET_NAME
對於字元字串欄位,字元集名稱。
COLLATION_NAME
對於字元字串欄位,定序名稱。
COLUMN_TYPE
欄位的資料類型。
DATA_TYPE
值僅為類型名稱,不包含其他資訊。COLUMN_TYPE
值包含類型名稱,以及可能包含的精確度或長度等其他資訊。COLUMN_KEY
欄位是否已建立索引
如果
COLUMN_KEY
為空,則表示該欄位未建立索引,或是僅作為多欄、非唯一索引的次要欄位。如果
COLUMN_KEY
為PRI
,則表示該欄位為PRIMARY KEY
,或是多欄PRIMARY KEY
中的其中一個欄位。如果
COLUMN_KEY
為UNI
,則表示該欄位為UNIQUE
索引的第一個欄位。(UNIQUE
索引允許有多個NULL
值,但您可透過檢查Null
欄位來判斷該欄位是否允許NULL
)如果
COLUMN_KEY
為MUL
,則表示該欄位為非唯一索引的第一個欄位,該欄位允許重複出現相同的值。
如果一個資料表的特定欄位適用多個
COLUMN_KEY
值,則COLUMN_KEY
會顯示優先順序最高的那個,優先順序為PRI
、UNI
、MUL
。如果
UNIQUE
索引不包含NULL
值,且資料表中沒有PRIMARY KEY
,則UNIQUE
索引可能會顯示為PRI
。如果數個欄位組成複合UNIQUE
索引,則UNIQUE
索引可能會顯示為MUL
;雖然這些欄位的組合是唯一的,但每個欄位仍然可以包含多個相同的值。EXTRA
任何關於特定欄位的額外資訊。在下列情況下,該值不會為空:
PRIVILEGES
您對該欄位擁有的權限。
COLUMN_COMMENT
欄位定義中包含的任何註解。
GENERATION_EXPRESSION
對於產生的欄位,顯示用於計算欄位值的表達式。對於非產生的欄位,此欄位為空。有關產生的欄位的資訊,請參閱 第 15.1.20.8 節「CREATE TABLE 和產生的欄位」。
SRS_ID
此值適用於空間欄位。它包含欄位的
SRID
值,表示儲存在欄位中值的空間參考系統。請參閱 第 13.4.1 節「空間資料類型」,以及 第 13.4.5 節「空間參考系統支援」。對於非空間欄位以及沒有SRID
屬性的空間欄位,該值為NULL
。
註解
在
SHOW COLUMNS
中,Type
顯示包含來自數個不同COLUMNS
欄位的值。除了多位元組字元集之外,
CHARACTER_OCTET_LENGTH
應該與CHARACTER_MAXIMUM_LENGTH
相同。CHARACTER_SET_NAME
可以從COLLATION_NAME
推導出來。例如,如果您輸入SHOW FULL COLUMNS FROM t
,並且在COLLATION_NAME
欄位中看到值為utf8mb4_swedish_ci
,則字元集為第一個底線之前的內容:utf8mb4
。
欄位資訊也可以從 SHOW COLUMNS
陳述式中取得。請參閱 第 15.7.7.6 節「SHOW COLUMNS 陳述式」。以下陳述式幾乎等效:
SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'tbl_name'
[AND table_schema = 'db_name']
[AND column_name LIKE 'wild']
SHOW COLUMNS
FROM tbl_name
[FROM db_name]
[LIKE 'wild']
關於產生的不可見主鍵欄位的資訊預設在此表格中可見。您可以透過設定 show_gipk_in_create_table_and_information_schema = OFF
來隱藏這些資訊。更多資訊請參閱 第 15.1.20.11 節「產生的不可見主鍵」。