首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将内存无法容纳的mysql表下载到csv文件中(使用WorkBench)

问将内存无法容纳的mysql表下载到csv文件中(使用WorkBench)
EN

Stack Overflow用户
提问于 2019-11-06 01:45:38
回答 1查看 192关注 0票数 0

我有一些巨大的sql表(>50M)存储在mysql数据库中。我只需要将它们下载到.csv文件中。

我知道我可以通过以下方式限制返回值的大小:

代码语言:javascript
复制
SELECT * FROM myTable
LIMIT 1000000; 

但是,对于大于1M的行,我总是会耗尽内存。

此外,由于某些原因,如果使用除MySQL工作台5.2.47之外的任何其他客户端,我会收到来自服务器的失败的握手应答/连接被拒绝。所以我必须坚持使用这个工具和版本。此外,我不能改变机器,所以内存限制是一个约束。

如何实现和循环下载并存储csv文件中的大表,并保证结果的有序性和唯一性?

EN

回答 1

Stack Overflow用户

发布于 2019-11-06 09:28:55

您可以使用SELECT INTO FILE生成csv。生成1M行的文件应该不会有任何问题。

有关属性语法和字段分隔字符等信息,请参阅文档。

https://dev.mysql.com/doc/refman/8.0/en/select-into.html

一份个人样本SELECT * INTO OUTFILE '/<OUTPUT_DIR>/export.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' FROM TABLE_NAME <WHERE condition> <ordering> LIMIT <BATCH_SIZE>;"

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58716797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档