如何将mysql表结构导出成Excel格式的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将mysql表结构导出成Excel格式的相关的知识,希望对你有一定的参考价值。

mysql表结构导出成Excel格式的,以下介绍方法:

    用Navicat for MySQL工具打开,右键表选择转存sql文件

    填写导出名,格式修改为xls

    导出成功,关闭窗口

    查看excel文件,可看到表结构,表信息


将数据导出成excel格式:

    用Navicat for MySQL工具打开表,对表查询

    将查询的结果进行导出,点击导出向导,选出导出的excel格式

    选择导出本地路径


    勾选上列名

    点击开始

    导出完成,点关闭

    可以打开刚才导出的excel


参考技术A 进入到mysql的控制台,输入:

1. SELECT * INTO OUTFILE ‘./test.xls‘ FROM tb1 WHERE 1 ORDER BY id DESC LIMIT 0, 50;

这样,应该会在你的mysql的var/目录下产生一个test.xls的文件。。。
但是如果你的shell的登录帐户和mysql的运行账户不同,很可能这个方法就不适用了,因为你可以通过mysql控制台来产生这个文件,但是你却没有办法通过shell来对这个文件进行操作,因为用户不同,没有访问权限。

这个时候,同事告诉偶滴办法就重装登录了!!!

1. echo "SELECT * FROM tb1 WHERE 1 ORDER BY id DESC LIMIT 0, 50;"| /usr/local/mysql/bin/mysql -hlocalhost -uroot -pxxxxx > /tmp/test.xls

ok,把你的test.xls文件从tmp下载到本地打开来看看吧。。。
什么?中文乱码?
别着急。。。
因为office默认的是gb2312编码,服务器端生成的很有可能是utf-8编码,这个时候你有两种选择,
1.在服务器端使用iconv来进行编码转换,

1. iconv -futf8 -tgb2312 -otest2.xls test.xls

如果转换顺利,那么从server上下载下来就可以使用了。
转换如果不顺利,则会提示:iconv: illegal input sequence at position 1841 类似于这样的错误,
先把test.xls下载下来,这个时候文件是utf-8编码的,用excel打开,乱码。
把test.xls以文本方式打开,然后另存为,在编码选择ANSI编码,保存。
参考技术B 可以用视图化软件如navicat for mysql 点击设计表直接全部复制在excl中粘贴即可

MySQL - 数据库表结构导出到 Excel

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

一开始慢悠悠的从 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'

以上是关于如何将mysql表结构导出成Excel格式的的主要内容,如果未能解决你的问题,请参考以下文章

如何将mysql表结构导出成Excel格式的

如何将mysql表结构导出成Excel格式的

怎样把SQLSERVER的表结构导出来?

mysql 怎样导出一个表的结构和数据

怎样将MySQL数据导出到Excel表中

情况MySQL Workbench中设计的数据库 怎么把表结构导出成excel