【数据库】快速导出表结构到excel中

   这几天刚来实习,项目主管给我布置了个写文档的任务,要求把数据库中所有的表全部填在以下格式的文档中

一开始慢悠悠的从navicat中一个一个查看表的结构,不停的复制粘贴-复制粘贴,头都大了,几十张表,几千个字段,我啥时候能下班啊。

于是,我想起可以直接利用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,具体内容如下

唉,真舒服,又可以早点下班了。