【问题标题】:Query large data from MySQL and save to CSV从 MySQL 查询大数据并保存到 CSV
【发布时间】:2018-06-22 07:01:31
【问题描述】:

我正在尝试从 MySQL 查询大数据并将其保存为 CSV。我的查询:

"SELECT id, sparks, experience FROM table_name order by id limit 1000;"

我需要帮助来使用“分页”或其他东西来优化我的查询,因为我有限制。

我尝试查看其他资源,例如限制和偏移。我没有通过使用这些方法获取所有数据。在使用这些方法时,我可能必须对数字进行硬编码。

如果我有 100,000 条记录。这只会给我1000条记录。如何更改此代码以获取所有 100,000 条记录?

还有其他方法可以查询较小的块并将其附加到大文件中吗?

这里的任何一点帮助都将不胜感激。

【问题讨论】:

  • “他们没有工作”究竟是什么意思?错误信息?如果是这样,请编辑您的问题并添加错误消息的整个文本。结果出乎你的意料?如果是这样,您的期望是什么,您得到了什么 - 再次编辑您的问题并向我们展示。
  • 限制和偏移量给了我一些输出,但不是所有的数据。如果我限制为 100,则只能获得 100 条记录。使用这种方法,我必须进行硬编码。还有其他方法可以查询较小的块并将其附加到大文件中吗?
  • 如果你想要一个文件中的所有内容,为什么不直接使用 mysqldump?
  • 取决于你想要在文件中输出什么。如果是 SQL 或 CSV,MySQL 中有一些命令会直接输出这些文件,而且它们比使用查询和自己编写文件要快得多。
  • 我正在尝试从 mysql 查询并写入 CSV

标签: mysql pagination


【解决方案1】:
SELECT column1, column2, ...
FROM table_name
LIMIT offset, count;

check this page

【讨论】:

  • 在发布答案之前,您可能需要更仔细地阅读 OP 的帖子。
  • 如果我有 100,000 条记录...select * from table_name limit 0,1000;这只会给我 1000 条记录...如何更改此代码以获取所有 100,000 条记录?谢谢!!
猜你喜欢
  • 1970-01-01
  • 2014-02-20
  • 1970-01-01
  • 1970-01-01
  • 2020-01-25
  • 1970-01-01
  • 2016-12-21
  • 2017-08-14
  • 2014-02-17
相关资源
最近更新 更多