1. 程式人生 > 其它 >mysql獲取表字段資訊(欄位名,欄位長度,欄位型別,精度,小數點位)

mysql獲取表字段資訊(欄位名,欄位長度,欄位型別,精度,小數點位)

技術標籤:技術分享資料庫操作sqlmysql資料庫

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_PRECISIONdatetime型別和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等格式,以後回開源出來……