【问题标题】:MySQL Exporting query output to CSVMySQL 将查询输出导出到 CSV
【发布时间】:2015-02-01 08:51:03
【问题描述】:

[Windows7 上的 MySQL Workbench 6.2]

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

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

我试过了:

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;

任何想法为什么它仍然无法正常工作?也欢迎任何好的选择!

【问题讨论】:

    标签: mysql csv export


    【解决方案1】:

    这是由于 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';
    

    【讨论】:

    • 感谢您的回答 Miya G。不幸的是,我一直收到同样的错误:/
    • 这里是Error Code: 1. Can't create/write to file 'C:\Users\username\Desktop\foldername\outfiletest.csv' (Errcode: 13 - Permission denied)
    • 您仍然没有使用上述答案中描述的正确路径。例如C:\\Users\\&lt;user_name&gt;\\AppData\\Local\\Temp
    • 我在我的脚本中使用 \\,它在错误中显示为 \ :S
    • 你是否设置了Temp文件夹的outfile路径?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-03
    • 2011-04-26
    • 2015-05-25
    • 2011-07-22
    • 2018-02-04
    • 2017-12-31
    • 2013-05-13
    相关资源
    最近更新 更多