我的服务器可以是PHP或nodeJS,更喜欢保留在PHP中,但如果在节点中无法完成/更好,我会很感激答案。
我想生成并导出一个非常大的CSV文件,问题是我无法从MySQL加载一次所有数据,因此目前我将数据限制为一些不会使应用程序崩溃的数据,但它是慢,大多数数据都不会被导出。
我想到了这个生成并导出CSV文件的解决方案:
我不介意客户端会等很多,只是想从MySQL得到的数据中导出~200MB csv的好方法。
感谢。
答案 0 :(得分:2)
使用Mysql表示法这是一个很好的解决方案:
SELECT *
INTO OUTFILE '/tmp/dbexport.csv'
FIELDS ENCLOSED BY '"'
TERMINATED BY ';'
ESCAPED BY '"'
LINES TERMINATED BY '\r\n'
FROM tables;
也可以查看this回答。
您可以考虑使用.tsb(制表符分隔文件),它对您没有任何影响:
mysql your_database -e "select * from tables" -B > export.tsv