【问题标题】:How do I export csv file to my computer in mysql如何在mysql中将csv文件导出到我的计算机
【发布时间】:2013-05-17 19:24:29
【问题描述】:

我正在尝试以 csv 格式将表格从远程服务器导出到我的台式计算机。我有这个代码:

select * from order
into outfile 'C:\Users\Sleep Shop\Desktop\MySQL Scripts/outfile.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n';

但我收到此错误:

失败:无法创建/写入文件 '/var/lib/mysql/C:\Users\Sleep Shop\Desktop\MySQL Scripts/outfile.csv'(错误代码:2)

我在想这个过程有一些我不了解的基本内容,可能是为了在远程服务器上执行表。有人可以帮忙吗?

我用这段代码告诉服务器上的一个点来创建文件:

select * from orders
into outfile '/var/www/test/outfile.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n';

它会创建文件,但它不包含任何记录,我收到此错误:

失败:字段分隔符参数不是预期的;

【问题讨论】:

  • 你的电脑里有这个目录吗?或者你有足够的空间?
  • 你是如何访问远程服务器的?使用 ssh/putty?远程服务器认为您提供的文件路径位于它自己的驱动器上的某个位置。请注意,错误指向 linux 位置“/var/lib/...”。您需要让服务器将 CSV 文件写入自己驱动器上的有效位置,然后才能将文件传输到本地 PC。
  • 你试过把路径改成C:/Users/Sleep Shop/Desktop/MySQL Scripts/outfile.csv吗?
  • 这个目录存在于我的电脑上,我有足够的空间。我正在通过 phpMyAdmin 访问服务器。
  • 我认为可能是路径问题,好的,所以我将尝试写入那里的目录,有没有资源可以告诉我如何传输文件?

标签: mysql csv export


【解决方案1】:

像这样更改查询:

select * from `order`
into outfile 'export.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n';

然后您将在远程服务器的目录中找到该文件:/var/lib/mysql/export.csv(或者可能是 /var/lib/mysql/data/your-db-name/export.csv)

通过 SSH (use putty) 连接到您的服务器并将文件传输到您的 PC 或将文件移动到接受 FTP 访问的目录,您可以使用 FTP 客户端(即 filezilla、winSCP)下载它。

或者您可以使用 phpMyAdmin 并单击表格,然后单击“导出”选项卡,然后您将看到从格式下拉列表中选择“CSV”的选项。如果您的表太大,这可能不起作用(取决于 phpMyAdmin 的设置或 PHP 的脚本可以运行多长时间的设置)。

【讨论】:

  • 谢谢大卫,我做过类似的事情,可以在指定的目录中创建一个文件,但是它是空的,见上面的更新。
  • 对不起,大卫,我从中得到了这个错误:无法执行 SQL:SQL select * from order into outfile 'export.csv' FIELDS TERMINATED BY ',' ENCLOSED BY " ESCAPED BY '\\' LINES TERMINATED BY '\n'; failed : 您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,了解在 'order into outfile 'export.csv' FIELDS TERMINATED BY '附近使用的正确语法, ' 第 1 行的“ ECAPED B' 包围”
  • "order" 是保留字,将其括在反引号内(请参阅更新的查询)。 dev.mysql.com/doc/refman/5.5/en/reserved-words.html
  • 我复制并粘贴了您的代码,这就是我得到的结果:无法执行 SQL:SQL select * from order into outfile 'export.csv' FIELDS TERMINATED BY ',' ENCLOSED BY " ESCAPED BY '\\' LINES TERMINATED BY '\n'; failed : 您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以了解在 '" ESCAPED BY '\\\\ 附近使用的正确语法' LINES TERMINATED BY '\\n'' at line 1 *勾号在那里他们只是没有出现在这个评论中。
  • 好的,对不起,把 '"' 放回去,用: ENCLOSED BY '"' 现在查询对我有用,我刚试过。
猜你喜欢
  • 2017-05-21
  • 2017-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-02
  • 1970-01-01
相关资源
最近更新 更多