MySQL将查询输出导出为CSV

时间:2014-12-03 17:14:29

标签: mysql csv export

[Windows7上的MySQL Workbench 6.2]

我可以在MySQL工作台导出图标中单击导出查询结果。见下图:

Manual way to export query results to csv files

但是,我需要在不同的循环中重复执行此操作,因此我希望将其包含在我的脚本中。

我试过了:

SELECT * from TABLENAME where ID = 123456 INTO OUTFILE 'C:/Users/username/Desktop/test.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n';

我还尝试使用\\而非/的文件路径,以及我在其他帖子中看到的LINES TERMINATED BY '\r \n'

当我尝试这个时,我得到Permission Denied [Errcode 13]尽管我已经在MySQL命令客户端中使用以下代码获得了我的用户文件权限:

USE mysql;
UPDATE user SET File_priv = 'Y' WHERE User = 'db_user';
FLUSH PRIVILEGES;

为什么它仍然不起作用的任何想法?任何好的选择也是受欢迎的!

1 个答案:

答案 0 :(得分:0)

这是由于mysql的文件夹访问权限。所以使用下面的路径来编写csv文件。

C:\\Users\\<user_name>\\AppData\\Local\\Temp

假设您的系统具有用户名ABC,那么您的查询应该是。

SELECT * from TABLENAME where ID = 123456 INTO OUTFILE 'C:\\Users\\ABC\\AppData\\Local\\Temp\\test.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n';