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 性。如果可以在欄位中儲存
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
,則可能會顯示為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 節,「產生的隱形主鍵」。