mysql獲取表字段資訊(欄位名,欄位長度,欄位型別,精度,小數點位)
阿新 • • 發佈:2021-01-17
Mysql查詢表字段的內容
SELECT table_name '表名', COLUMN_COMMENT AS '列名中文', Column_Name AS 列名英文, data_type AS 資料型別, ( CASE WHEN data_type = 'float' OR data_type = 'double' OR data_type = 'TINYINT' OR data_type = 'SMALLINT' OR data_type = 'MEDIUMINT' OR data_type = 'INT' OR data_type = 'INTEGER' OR data_type = 'decimal' OR data_type = 'bigint' THEN NUMERIC_PRECISION ELSE CHARACTER_MAXIMUM_LENGTH END ) AS '長度(整數)', NUMERIC_SCALE AS '長度(小數)', ( CASE WHEN EXTRA = 'auto_increment' THEN 1 ELSE 0 END ) AS '是否自增', ( CASE WHEN IS_NULLABLE = 'NO' THEN 0 ELSE 1 END ) AS '能否為空', ( CASE WHEN COLUMN_KEY = 'PRI' THEN 1 ELSE 0 END ) AS '是否是主鍵', # extra, COLUMN_DEFAULT AS '預設值' FROM information_schema.COLUMNS where table_schema = '表名' #表所在資料庫
下面列舉出所有欄位資訊:
TABLE_CATALOG | 表限定符 |
TABLE_SCHEMA | 表格所屬的庫 |
TABLE_NAME | 表名 |
COLUMN_NAME | 欄位名 |
ORDINAL_POSITION | 順序 |
COLUMN_DEFAULT | 預設值 |
IS_NULLABLE | 是否為null |
DATA_TYPE | 資料型別 |
CHARACTER_MAXIMUM_LENGTH | 資料長度(欄位的最大字元數) |
CHARACTER_OCTET_LENGTH | 儲存長度(欄位的最大位元組數) |
NUMERIC_PRECISION | 數字精度 |
NUMERIC_SCALE | 小數位數 |
DATETIME_PRECISION | datetime型別和SQL-92interval型別資料庫的子型別程式碼。 |
CHARACTER_SET_NAME | 欄位字符集名稱。比如utf8 |
COLLATION_NAME | 字符集排序規則 |
COLUMN_TYPE | 欄位型別。比如varchar(50) |
COLUMN_KEY | 索引型別,可包含的值有PRI,代表主鍵,UNI,代表唯一鍵,MUL,可重複 |
EXTRA | 定義列的時候的其他資訊,例如自增 |
PRIVILEGES | 操作許可權有:select,insert,update,references |
COLUMN_COMMENT | 欄位的備註 |
GENERATION_EXPRESSION | 組合欄位的公式 |
正在整理成工具,線上檢視所有的結構,可以匯出PDF和Excel等格式,以後回開源出來……