Mysql导出逗号分隔的csv文件

时间:2021-04-17 04:21:02

CleverCode在实际的工作中。常常须要将一些报表。或者日志数据等导出来,假设直接做页面,假设次数也不是非常多,需求也不同。所以直接导出csv文件,更加直观。

1 导出csv文件

1.1 语句格式

     SELECT [列名] FROM table [WHERE 语句] [order by 语句] [limit 语句]

     INTO OUTFILE '目标文件' [OPTION];

1.2 參数说明

该语句分为两个部分。

前半部分是一个普通的SELECT语句,通过这个SELECT语句来查询所须要的数据;后半部分是导出数据的。当中,“目标文件”參数指出将查询的记录导出到哪个文件里;“OPTION”參数为可选參数选项。其可能的取值有:

  • fields terminated by '字符串':设置字符串为字段之间的分隔符,能够为单个或多个字符。默认值是“\t”。
  • fields enclosed by '字符':设置字符来括住字段的值。仅仅能为单个字符。

    默认情况下不使用不论什么符号。

  • fields optionally enclosed by '字符':设置字符来括住CHAR、VARCHAR和TEXT等字符型字段。默认情况下不使用不论什么符号。
  • fields escaped by '字符':设置转义字符,仅仅能为单个字符。默认值为“\”。
  • lines starting by '字符串':设置每行数据开头的字符,能够为单个或多个字符。

    默认情况下不使用不论什么字符。

  • lines terminated by '字符串':设置每行数据结尾的字符,能够为单个或多个字符。

    默认值是“\n”。

1.3 重要提示

into outfile ‘目标文件’。目标文件是保存在mysql的server端。由于sql语句都是在server端运行了。

所以运行完后目标文件会保存在mysqlserver端。

into outfile '/tmp/test.csv',通常是mysqlserver是在linux上。into outfile 'E:/test.csv' ,通常是mysqlserver端在windows上。并且目标文件必须有写入权限,并且文件不能存在。

1.4 mysqlserver安装在linux举例

select
*
from proxy_list
order by id asc
limit 0,2
into outfile '/tmp/test.csv'
fields
terminated by ','
optionally enclosed by '"'
escaped by '"'
lines terminated by '\r\n';

1.5 mysqlserver安装在windows举例

select
uid,
nation
from system_user
order by uid asc
limit 0,2
into outfile 'e:/test.csv'
fields
terminated by ','
optionally enclosed by '"' escaped by '"'
lines
terminated by '\r\n';

1.6 错误举例

1 无写入权限
Mysql导出逗号分隔的csv文件

2 文件已经存在
Mysql导出逗号分隔的csv文件

版权声明:

1)原创作品。出自"CleverCode的博客",请勿转载,否则追究版权法律责任。

2)原创地址:http://blog.csdn.net/clevercode/article/details/46965115

3)分类地址(Mysql数据库总结):http://blog.csdn.net/clevercode/article/category/3262205(博客持续添加,关注请收藏)

4)欢迎大家关注我博客很多其它的精彩内容:http://blog.csdn.net/CleverCode