mysql 数据库将 查询的数据导出为excel

目录

方法一:查询语句直接输出

方法二:在shell命令行下操作

方式三:在shell命令行下操作

个人总结:


方法一:查询语句直接输出

分为两步:

1、在mysql cmd中或者可视化工具(如:SQLyog)中输入:

SELECT id,NAME INTO OUTFILE 'D:/region.xls' FROM region WHERE parent_id = '0';

结构:select * into outfile '导出文件存放目录' from 表面和查询条件等信息!

2、这时,用office打开region.xls文件,可能会有乱码。

因为office默认的是gb2312编码,服务器端生成的很有可能是utf-8编码,可以有两种方式进行转换:

1)在服务器端使用iconv来进行编码转换

iconv -futf8 -tgb2312 -oregion_new.xls region.xls

如果转换顺利,那么从server上下载下来就可以使用了

转换如果不顺利,则会提示:

iconv: illegal input sequence at position 1841

2)第二种方法:

可以将文件用记事本打开,然后另存为新的文件,并设置编码为ANSI。这样用office打开就是正常的。

方法二:在shell命令行下操作

echo "select id,name from test.region where parent_id ='0'" | mysql -h127.0.0.1 -uroot > /data/region.xls

结构:echo 查询语句 管道 登录mysql链接方式 > 定向输出文件

Shell 的 echo 指令是用于字符串的输出。命令格式:echo string

echo的详细解读可以参见RUNOOB.com 进行学习。

方式三:在shell命令行下操作

mysql test -uroot -proot -e "select id,name from region where parent_id ='0' limit 0,20" > /data/region.xls

结构: mysql链接信息 数据库 用户名 密码 然后执行查询语句,定向输出

test:数据库名    region:数据库表名

个人总结:

我一般用的最多的是第一种,大家根据自己的情况选择哈,如果大家理解不清我写的,可以参考大神的博客学而不思则罔,思而不学则殆

再次,感谢大神的博客,感恩的小心心~~~

一起加油,我亲爱的狗子们~~~

猜你喜欢

转载自blog.csdn.net/fhy569039351/article/details/81364582