【发布时间】:2011-03-11 01:43:45
【问题描述】:
所以我正在尝试将 MySQL 表导出为 CSV。我正在使用这个查询:
SELECT * FROM business WHERE id > 0 AND id <= 20000 INTO OUTFILE "business.csv"
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY "\n";
输出是这样的:
http://postimage.org/image/2ghyenh5w/full/
这样做的问题是总是有一个额外的反斜杠 \ 那里有换行符,例如在地址字段中。
但是,从 phpMyAdmin 导出的 CSV 没有它:
http://postimage.org/image/2gi026tno/full/
有什么方法可以让 SELECT ... OUTFILE ... 做同样的事情吗?
我正在处理的表有 2000 万条记录,phpMyAdmin 对于每个导出操作只能处理大约 500,000 条记录 - 否则它将变为空白或 mysql 服务器消失等。
【问题讨论】:
-
+1 我一直使用 PHP 生成我的 CSV,所以这看起来容易多了。
-
@alex,我可以看看你的 sn-p 吗? ;) 什么是逃逸?如果内容中有 " 和 , 怎么办?如何处理 UTF8 字符?
标签: mysql sql into-outfile