用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > mysql教程

mysql中数据导出成excel文件语句

时间:2015-01-23  来源:西部数据  作者:西部数据

在mysql中导出数据有一个非常简单的命令 into outfile可以快速的把数据记录导出成xls文件,有需要的朋友可参考,代码如下:

mysql>select * from xi_table into outfile ’d:test.xls’;

导出为txt文件,代码如下:

select * from xi_table into outfile ’d:test.txt’;

默认使用tab分割字段,记录使用n分割,可以自定义三个参数,代码如下:

SELECT * FROMhx_9enjoy INTO OUTFILE '/tmp/9enjoy_hx.txt' FIELDS TERMINATED BY ',' OPTIONALLYENCLOSED BY '"' LINES TERMINATED BY 'n';

即使用,分割字段,双引号限定字段内容,n分割记录,还可以指定某些条件的记录输出,代码如下:

SELECT * FROMhx_9enjoy WHERE id < 100 INTO OUTFILE '/tmp/9enjoy_100.txt'

如果打开时excel中出现乱码我们可以导出时设置编码为gb2312 在服务器端使用iconv来进行编码转换,代码如下:

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

如果linux中可能会碰到mysql into outfile ERROR:Can't create/write to file错误,这种问题就是权限的问题了.

解决办法,代码如下:

sudo vi /etc/apparmor.d/usr.sbin.mysqld

在里面添加/data的可写目录,代码如下:

  1. ... 
  2. /usr/sbin/mysqld { 
  3.     ... 
  4.     /var/log/mysql/ r, 
  5.     /var/log/mysql/* rw, 
  6.     /var/run/mysqld/mysqld.pid w, 
  7.     /var/run/mysqld/mysqld.sock w, 
  8.     /data/* rw, --phpfensi.com 

然后重新载入,代码如下:

sudo /etc/init.d/apparmor reload/restart

还需要重启mysql,否则会出些莫名其妙的错误,如:

ERROR 1286 (42000) at line 1: Unknown table engine 'InnoDB'

重启mysql,代码如下:

  1. sudo service mysql stop 
  2. sudo service mysql start
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门