如何从Mysql中分块获取数据

2024-05-18 07:33:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Mysql中有一个表,到目前为止它包含了1000万个条目,我正在python中编写一个脚本,在这个脚本中我想从数据库中获得100K行数)的数据

我尝试过使用分页(https://www.citusdata.com/blog/2016/03/30/five-ways-to-paginate/) 但是做不到,任何人都可以帮我


Tags: to数据https脚本com数据库wwwmysql
1条回答
网友
1楼 · 发布于 2024-05-18 07:33:45

您可以在MySQL中使用LIMIT
LIMIT子句与SELECTUPDATEDELETE语句一起用于限制结果集中的行数
它接受一个或两个参数,即offsetcount

语法

SELECT column1, column2, ...
FROM table_name
LIMIT offset, count;

offset指定从哪个行开始检索数据
count指定从结果集返回的行数

用法

SELECT * FROM STUDENTS
LIMIT 100, 50 

这里,100指定偏移量,即查询将从100th记录开始检索数据
50指定将在100th记录之后返回的记录数

例如

在您的情况下,
count将是100koffset将是从0开始的100k的倍数

SELECT * FROM STUDENTS
LIMIT 0, 100000

下一个查询将是:

SELECT * FROM STUDENTS
LIMIT 100000, 100000

以此类推。。
因此,在python代码中,count值将是相同的,即100000,而offset值将从0100000200000offset值本质上是100000的倍数

为了进一步的参考,请看这里link1link2

相关问题 更多 >