【数据库】 表结构导入execl(数据字典)代码版

100 阅读1分钟

目标

数据库表结构能快速导出为execl 形成数据字典

成果展示

表结构

image.png

execl导出结果

image.png

代码

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进行了限制

可以按照自己的需求进行更改

参考解决方式(麻烦) 修改配置文件修改下载路径

image.png

解决方案

直接在MYSQL规定的路径下载 再复制到其他地方 不就可以啦

-- 查询可下载路径
SHOW VARIABLES LIKE '%secure%';

image.png