mysql导出逗号_Mysql导出逗号分隔的csv文件

本文详细介绍了如何在MySQL中使用SQL语句将报表数据导出为CSV文件,包括SELECT语句的结构、参数解释,以及Linux与Windows环境下文件路径的差异。特别强调了权限、文件存在与否的问题及常见错误案例。
摘要由CSDN通过智能技术生成

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的服务器端,因为sql语句都是在服务器端执行了。所以执行完后目标文件会保存在mysql服务器端。into outfile '/tmp/test.csv',一般是mysql服务器是在linux上;into outfile 'E:/test.csv' ,一般是mysql服务器端在windows上。并且目标文件必须有写入权限,而且文件不能存在。

1.4 mysql服务器安装在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 'rn';

1.5 mysql服务器安装在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 'rn';

1.6 错误举例

1 无写入权限

548a4c54bbf4cbaaa4e7bbca77f772a1.png

2 文件已经存在

1d80f4f54065ec216b56e2f78b3d1256.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值