MySQL - 数据库表结构导出到 Excel
程序员文章站
2024-03-21 08:33:16
...
这几天刚来实习,项目主管给我布置了个写文档的任务,要求把数据库中所有的表全部填在以下格式的文档中!
一开始慢悠悠的从 Native 中一个一个查看表的结构,不停的复制粘贴-复制粘贴,头都大了,几十张表,几千个字段,我啥时候能下班啊。
于是,我想起可以直接利用sql语句,生成上表的样式,然后直接复制进去,就可以了,话不多说,附上代码。
SELECT
COLUMN_NAME as 字段名称,
COLUMN_TYPE as 数据类型,
if(COLUMN_KEY='PRI','Y','N') as 主键,
COLUMN_COMMENT as 备注
FROM
INFORMATION_SCHEMA. COLUMNS
WHERE
table_schema = '数据库名称'
AND
table_name = '数据表名称'
使用内置表INFORMATION_SCHEMA. COLUMNS来查询,任何表中的任何一列都会在此表中对应一行记录。
例如,我的数据表 account(账户表) 的结构为
执行完SQL语句后
现在直接复制粘贴就可以了!
那我能不能直接导出到excel中呢,还得带有表头。话不多说,放代码~
SELECT '字段名称','数据类型','主键','备注'
UNION
SELECT
COLUMN_NAME as 字段名称,
COLUMN_TYPE as 数据类型,
if(COLUMN_KEY='PRI','Y','N') as 主键,
COLUMN_COMMENT as 备注
FROM
INFORMATION_SCHEMA. COLUMNS
WHERE
table_schema = 'mydata'
AND
table_name = 'account'
INTO OUTFILE 'C:/Users/Administrator/Desktop/account.xls'
执行后,发现桌面多了account.xls,具体内容如下
唉,真舒服,又可以早点下班了。
补充字段(非空字段)
SELECT 'SQL字段名称','数据类型','非空','主键','备注'
UNION
SELECT
COLUMN_NAME as `SQL字段名称`,
-- COLUMN_NAME as `JAVA字段名称`,
COLUMN_TYPE as `数据类型`,
if(IS_NULLABLE='NO','Y','N') as `非空`,
if(COLUMN_KEY='PRI','Y','N') as `主键`,
COLUMN_COMMENT as `备注`
FROM
INFORMATION_SCHEMA. COLUMNS
WHERE
table_schema = 'dsp'
AND
table_name = 'dsp_supplier'
-- INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/dsp_supplier.xlsx'
上一篇: 将数据库中的数据表导出Excel
下一篇: JAVA导入Excel文件