使用Navicat 匯出 MySQL中表的欄位資訊查詢,以及information_schema.COLUMNS解釋
1.將下面select複製到Navicat中即可查出表結構,然後複製即可
SELECT COLUMN_NAME 列名,
COLUMN_COMMENT 欄位說明, DATA_TYPE 資料型別, CHARACTER_MAXIMUM_LENGTH 長度, IS_NULLABLE AS 'NOT NULL',
column_key 索引型別, COLUMN_DEFAULT 預設值 FROM INFORMATION_SCHEMA. COLUMNS WHERE
where
-- iplat為資料庫名稱,到時候只需要修改成你要匯出表結構的資料庫即可
table_schema ='iplat'
AND
-- tedpi01為表名,到時候換成你要匯出的表的名稱
-- 如果不寫的話,預設會查詢出所有表中的資料,這樣可能就分不清到底哪些欄位是哪張表中的了,所以還是建議寫上要匯出的名名稱
table_name = 'tedpi01'
其中:欄位說明
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 組合欄位的公式。
組合欄位的介紹可以參考以下文章:
http://blog.csdn.net/lkforce/article/details/79557373 --------------------- 作者:lkforce 來源:CSDN 原文:https://blog.csdn.net/lkforce/article/details/79557482