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等格式,以后回开源出来……