mysql 查询导出到csv文件_MySQL 查询结果保存为CSV文件

本文介绍了如何使用MySQL将查询结果直接导出为CSV文件,包括设置字段和行分隔符,并给出了示例SQL语句。同时,针对因`secure-file-priv`选项导致的导出问题,提供了配置和解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL支持将查询结果直接导出为文本格式,格式如下:

into outfile ‘导出的目录和文件名’                  指定导出的目录和文件名

fields terminated by ‘字段间分隔符’            定义字段间的分隔符

optionally enclosed by ‘字段包围符’           定义包围字段的字符(数值型字段无效)

lines terminated by ‘行间分隔符’                定义每行的分隔符

举个栗子:

select * from [表名] where [字段名] ='条件'

into outfile 'c:/test.csv' fields terminated by ',' optionally enclosed  by  '"' lines terminated by '\r\n';

执行后,会把指定表中记录数据导出到c:/test.csv文件中。每个字段以,(逗号)分隔,字段内容是字符串的以”(双引号)包围,每条记录使用\r\n换行。如图所示

a1fe1062bc17d6fa1b491e923c6053b5.png

如果导出的过程中出现:

the MySQL server is running with the --secure-file-priv option so it cannot execute this statement

首先了解一下secure-file-priv特性:

secure-file-priv参数是用来限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()传到哪个指定目录的。

ure_file_priv的值为null ,表示限制mysqld 不允许导入|导出

当secure_file_priv的值为具体目录 ,表示限制mysqld 的导入/导出只能发生在具体目录下

当secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制

如何查看secure-file-priv参数的值:

show global variables ike '%secure%' ;

解决问题:

windows下:修改my.ini (一般在mysql的安装路径下,如果没有my.ini文件参考官方说明)在[mysqld]下方加入secure-file-priv=你的路径(路径中\要以/来代替否则会出错)

然后重启mysql(参考命令)

再查询secure-file-priv

喜欢 (4)赏

e72b4cedf9156ececac3f47e7fb11148.png

感谢您的支持,我会继续努力的!

481cfddbbc61d0ce47eeb7e9c3c18af3.png

扫码打赏,你说多少就多少

29ffe783b56bdce50e2c6464d700d343.png

323e5ada88addd993e94d3f2e28c0223.png

打开支付宝扫一扫,即可进行扫码打赏哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值