MySQL中表的字段信息查询--information_schema.COLUMNS
MySQL的information_schema庫中有個COLUMNS表,里面記錄了mysql所有庫中所有表的字段信息,該表信息如下:
?
COLUMNS表的每一條記錄都對應了數(shù)據(jù)庫中某個表的某個字段,該表記錄了如下信息:
TABLE_CATALOG
MySQL官方文檔中說,這個字段值永遠是def,但沒寫這個字段是干嘛用的。
網(wǎng)上有把這個叫表限定符的,有叫登記目錄的。作用疑似是和其他種類的數(shù)據(jù)庫做區(qū)分。
TABLE_SCHEMA
表格所屬的庫。
TABLE_NAME
表名
COLUMN_NAME
字段名
ORDINAL_POSITION
字段標識。
其實就是字段編號,從1開始往后排。
COLUMN_DEFAULT
字段默認值。
IS_NULLABLE
字段是否可以是NULL。
該列記錄的值是YES或者NO。
DATA_TYPE
數(shù)據(jù)類型。
里面的值是字符串,比如varchar,float,int。
CHARACTER_MAXIMUM_LENGTH
字段的最大字符數(shù)。
假如字段設置為varchar(50),那么這一列記錄的值就是50。
該列只適用于二進制數(shù)據(jù),字符,文本,圖像數(shù)據(jù)。其他類型數(shù)據(jù)比如int,float,datetime等,在該列顯示為NULL。
CHARACTER_OCTET_LENGTH
字段的最大字節(jié)數(shù)。
和最大字符數(shù)一樣,只適用于二進制數(shù)據(jù),字符,文本,圖像數(shù)據(jù),其他類型顯示為NULL。
和最大字符數(shù)的數(shù)值有比例關系,和字符集有關。比如UTF8類型的表,最大字節(jié)數(shù)就是最大字符數(shù)的3倍。
NUMERIC_PRECISION
數(shù)字精度。
適用于各種數(shù)字類型比如int,float之類的。
如果字段設置為int(10),那么在該列保存的數(shù)值是9,少一位,還沒有研究原因。
如果字段設置為float(10,3),那么在該列報錯的數(shù)值是10。
非數(shù)字類型顯示為在該列NULL。
NUMERIC_SCALE
小數(shù)位數(shù)。
和數(shù)字精度一樣,適用于各種數(shù)字類型比如int,float之類。
如果字段設置為int(10),那么在該列保存的數(shù)值是0,代表沒有小數(shù)。
如果字段設置為float(10,3),那么在該列報錯的數(shù)值是3。
非數(shù)字類型顯示為在該列NULL。
DATETIME_PRECISION
datetime類型和SQL-92interval類型數(shù)據(jù)庫的子類型代碼。
我本地datetime類型的字段在該列顯示為0。
其他類型顯示為NULL。
CHARACTER_SET_NAME
字段字符集名稱。比如utf8。
COLLATION_NAME
字符集排序規(guī)則。
比如utf8_general_ci,是不區(qū)分大小寫一種排序規(guī)則。utf8_general_cs,是區(qū)分大小寫的排序規(guī)則。
COLUMN_TYPE
字段類型。比如float(9,3),varchar(50)。
COLUMN_KEY
索引類型。
可包含的值有PRI,代表主鍵,UNI,代表唯一鍵,MUL,可重復。
EXTRA
其他信息。
比如主鍵的auto_increment。
PRIVILEGES
權限
多個權限用逗號隔開,比如 select,insert,update,references
COLUMN_COMMENT
字段注釋
GENERATION_EXPRESSION
組合字段的公式。
組合字段的介紹可以參考以下文章:
http://blog.csdn.net/lkforce/article/details/79557373
總結
以上是生活随笔為你收集整理的MySQL中表的字段信息查询--information_schema.COLUMNS的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 查询主键和主键列,查询Mys
- 下一篇: mysql怎么看表的结构_mysql查看