gpt4 book ai didi

python - 通过Python从MySQL批量获取数据

转载 作者:IT老高 更新时间:2023-10-29 00:09:35 24 4
gpt4 key购买 nike

由于数量的原因,我想分批进行此过程。

这是我的代码:

 getconn = conexiones()
con = getconn.mysqlDWconnect()
with con:
cur = con.cursor(mdb.cursors.DictCursor)
cur.execute("SELECT id, date, product_id, sales FROM sales")
rows = cur.fetchall()

如何实现索引来批量获取数据?

最佳答案

第一点:python db-api.cursor 是一个迭代器,所以除非你真的需要一次将整个批处理加载到内存中,否则你可以开始使用此功能,即代替:

cursor.execute("SELECT * FROM mytable")
rows = cursor.fetchall()
for row in rows:
do_something_with(row)

你可以:

cursor.execute("SELECT * FROM mytable")
for row in cursor:
do_something_with(row)

如果你的 db 连接器的实现仍然没有正确使用这个特性,那么是时候添加 LIMIT 和 OFFSET 了:

# py2 / py3 compat
try:
# xrange is defined in py2 only
xrange
except NameError:
# py3 range is actually p2 xrange
xrange = range

cursor.execute("SELECT count(*) FROM mytable")
count = cursor.fetchone()[0]
batch_size = 42 # whatever

for offset in xrange(0, count, batch_size):
cursor.execute(
"SELECT * FROM mytable LIMIT %s OFFSET %s",
(batch_size, offset))
for row in cursor:
do_something_with(row)

关于python - 通过Python从MySQL批量获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32625593/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com