目标
数据库表结构能快速导出为execl 形成数据字典
成果展示
表结构
execl导出结果
代码
SELECT '表名称','表备注','字段名称','备注','数据类型','数据长度'
UNION
SELECT
COLUMNS.TABLE_NAME AS 表名称,
TABLE_COMMENT AS 表备注,
COLUMN_NAME AS 字段名称,
COLUMN_COMMENT AS 备注,
COLUMN_TYPE AS 数据类型,
CASE
WHEN COLUMN_TYPE LIKE 'varchar(%)' THEN TRIM(TRAILING ')' FROM SUBSTRING_INDEX(COLUMN_TYPE, '(', -1))
WHEN COLUMN_TYPE LIKE 'varbinary(%)' THEN TRIM(TRAILING ')' FROM SUBSTRING_INDEX(COLUMN_TYPE, '(', -1))
WHEN COLUMN_TYPE LIKE 'char(%)' THEN TRIM(TRAILING ')' FROM SUBSTRING_INDEX(COLUMN_TYPE, '(', -1))
ELSE '' -- 当字段类型不是VARCHAR、VARBINARY或CHAR时,返回空字符串
END AS '数据长度'
FROM
INFORMATION_SCHEMA. COLUMNS AS COLUMNS
LEFT JOIN
INFORMATION_SCHEMA.TABLES ON COLUMNS.TABLE_SCHEMA = TABLES.TABLE_SCHEMA AND COLUMNS.TABLE_NAME = TABLES.TABLE_NAME
WHERE
COLUMNS.table_schema = 'test'
AND
COLUMNS.table_name = 'user'
INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/test1.xls'
可能遇到的问题
导出文件路径
问题描述
如果导出任意路径会报错 MYSQL进行了限制
可以按照自己的需求进行更改
参考解决方式(麻烦) 修改配置文件修改下载路径
解决方案
直接在MYSQL规定的路径下载 再复制到其他地方 不就可以啦
-- 查询可下载路径
SHOW VARIABLES LIKE '%secure%';