MySQL 查询结果保存为CSV文件

时间:2022-01-30 15:51:48

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

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

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

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

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

举个栗子:

select * from data_11

where WIFIAPTag like 'E1%'

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

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

MySQL 查询结果保存为CSV文件

===============================================================================

除此以外,朋友们可能还会碰到这个问题

The MySQL server is running with the --secure-file-priv..............

意思就是说没有修改本地文件的权限,解决这个问题需要修改MySQL的配置文件 mys.ini

配置文件中有一个配置:secure-file-priv="C:/ProgramData/MySQL/MySQL Server 5.7/Uploads"   意思就是说,默认情况下只对这个路径下有权限

将这行配置注销掉即可解决问题。

如何找到这个配置文件的位置呢?

最直接的方法就是查看MySQL命令行MySQL 5.7 Command Line Client的快捷方式的属性中的相关信息
MySQL 查询结果保存为CSV文件
目标信息: "D:\Program Files\MySQL\MySQL Server 5.7\bin\mysql.exe" 可执行文件位置
               "--defaults-file=D:\WorkSpace\MySQL_DataDirectory\my.ini" 首选配置文件位置
               "-uroot" 用户(默认是root,也可以是其他用户)
               "-p" 提示输入密码
               "--default-character-set=utf8" 采用的字符集
 
起始位置:"D:\Program Files\MySQL\MySQL Server 5.7\bin\"
 
由于我的mysql是安装在D盘的,且设置的数据文件夹是 D:\WorkSpace\MySQL_DataDirectory。
修改后的配置文件如下:
MySQL 查询结果保存为CSV文件