information_schema.COLUMNS


MySQL的information_schema庫中有個COLUMNS表,里面記錄了mysql所有庫中所有表的字段信息,該表信息如下:

COLUMNS表的每一條記錄都對應了數據庫中某個表的某個字段,該表記錄了如下信息:

TABLE_CATALOG

MySQL官方文檔中說,這個字段值永遠是def,但沒寫這個字段是干嘛用的。

網上有把這個叫表限定符的,有叫登記目錄的。作用疑似是和其他種類的數據庫做區分。

TABLE_SCHEMA

表格所屬的庫。

TABLE_NAME

表名

COLUMN_NAME

字段名

ORDINAL_POSITION

字段標識。

其實就是字段編號,從1開始往后排。

COLUMN_DEFAULT

字段默認值。

IS_NULLABLE

字段是否可以是NULL。

該列記錄的值是YES或者NO。

DATA_TYPE

數據類型。

里面的值是字符串,比如varchar,float,int。

CHARACTER_MAXIMUM_LENGTH

字段的最大字符數。

假如字段設置為varchar(50),那么這一列記錄的值就是50。

該列只適用於二進制數據,字符,文本,圖像數據。其他類型數據比如int,float,datetime等,在該列顯示為NULL。

CHARACTER_OCTET_LENGTH

字段的最大字節數。

和最大字符數一樣,只適用於二進制數據,字符,文本,圖像數據,其他類型顯示為NULL。

和最大字符數的數值有比例關系,和字符集有關。比如UTF8類型的表,最大字節數就是最大字符數的3倍。

NUMERIC_PRECISION

數字精度。

適用於各種數字類型比如int,float之類的。

如果字段設置為int(10),那么在該列保存的數值是9,少一位,還沒有研究原因。

如果字段設置為float(10,3),那么在該列報錯的數值是10。

非數字類型顯示為在該列NULL。

NUMERIC_SCALE

小數位數。

和數字精度一樣,適用於各種數字類型比如int,float之類。

如果字段設置為int(10),那么在該列保存的數值是0,代表沒有小數。

如果字段設置為float(10,3),那么在該列報錯的數值是3。

非數字類型顯示為在該列NULL。

DATETIME_PRECISION

datetime類型和SQL-92interval類型數據庫的子類型代碼。

我本地datetime類型的字段在該列顯示為0。

其他類型顯示為NULL。

CHARACTER_SET_NAME

字段字符集名稱。比如utf8。

COLLATION_NAME

字符集排序規則。

比如utf8_general_ci,是不區分大小寫一種排序規則。utf8_general_cs,是區分大小寫的排序規則。

COLUMN_TYPE

字段類型。比如float(9,3),varchar(50)。

COLUMN_KEY

索引類型。

可包含的值有PRI,代表主鍵,UNI,代表唯一鍵,MUL,可重復。

EXTRA

其他信息。

比如主鍵的auto_increment。

PRIVILEGES

權限

多個權限用逗號隔開,比如 select,insert,update,references

COLUMN_COMMENT

字段注釋

GENERATION_EXPRESSION

組合字段的公式。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM