MySQL表结构导出Excel

MySQL表结构导出Excel

在写设计文档时,需要把MySQL中的表结构按要求导出。MySQL客户端默认的字段不满足需求时,可通过MySQL的information_schema.COLUMNS表,查询并按需求导出字段。

information_schema.COLUMNS表记录了所有库中所有表的字段信息,如下:

在这里插入图片描述

字段具体意义如下:

字段 备注
TABLE_CATALOG def 标记符
TABLE_SCHEMA 表、视图所在的数据库名
TABLE_NAME 表、视图名
COLUMN_NAME 字段名
ORDINAL_POSITION 字段编号,从1开始往后排
COLUMN_DEFAULT 字段默认值
IS_NULLABLE 字段是否可空
DATA_TYPE 字段数据类型
CHARACTER_MAXIMUM_LENGTH 字段的最大字符数;只适用于二进制数据(字符,文本,图像数据),其他类型数据(int,float,datetime等)为NULL
CHARACTER_OCTET_LENGTH 字段的最大字节数;只适用于二进制数据(字符,文本,图像数据),其他类型数据(int,float,datetime等)为NULL;和最大字符数的数值有比例关系,和字符集有关,比如UTF8类型的表,最大字节数是最大字符数的3倍
NUMERIC_PRECISION 数字精度
NUMERIC_SCALE 小数位数
DATETIME_PRECISION datetime类型和SQL-92interval类型数据库的子类型代码
CHARACTER_SET_NAME 字段字符集名称
COLLATION_NAME 字符集排序规则;utf8_general_ci,是不区分大小写一种排序规则,utf8_general_cs,是区分大小写的排序规则
COLUMN_TYPE 字段类型
COLUMN_KEY 索引类型(PRI-主键,UNI-唯一键,MUL-可重复)
EXTRA 附加信息,比如 主键的auto_increment
PRIVILEGES 权限(多个权限用逗号隔开-select,insert,update,references)
COLUMN_COMMENT 字段注释

可按照上述字段信息提取相应表的表结构,SQL如下:

SELECT
	COLUMN_NAME 字段名称,
	COLUMN_TYPE 字段类型,
	COLUMN_DEFAULT 默认值,
	CHARACTER_MAXIMUM_LENGTH AS 最大长度,
	(
		CASE
		WHEN is_nullable = 'NO' THEN
			'否'
		ELSE
			'是'
		END
	) AS 是否可空,
	(
		CASE
		WHEN column_key = 'PRI' THEN
			'是'
		ELSE
			'否'
		END
	) AS 是否主键,
	COLUMN_COMMENT 描述
FROM
	INFORMATION_SCHEMA. COLUMNS
WHERE
	table_schema = 'simulation_platform'
AND table_name = 'task'

输出如下:

在这里插入图片描述

还可新建视图,保存该SQL,通过客户端的导出功能,直接输出Excel或其它格式。

在这里插入图片描述

在这里插入图片描述


--------------------------文档信息--------------------------
版权声明:非商用自由转载-保持署名-注明出处
署名(BY) :dkjkls(dkj卡洛斯)
文章出处:http://blog.csdn.net/dkjkls

猜你喜欢

转载自blog.csdn.net/dkjkls/article/details/87902067