如果您需要处理多行数据,使用游标或其他适当的方法是更好的选择。以下是一些处理多行数据的方法:
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# 执行查询
cursor.execute("SELECT * FROM your_table")
# 使用fetchone()逐行获取数据
row = cursor.fetchone()
while row is not None:
# 在这里处理每一行数据
print(row)
row = cursor.fetchone()
# 关闭游标和连接
cursor.close()
conn.close()
executemany()
方法执行多行插入:import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# 准备数据
data = [
('row1_value1', 'row1_value2'),
('row2_value1', 'row2_value2'),
('row3_value1', 'row3_value2')
]
# 使用executemany()执行批量插入
cursor.executemany("INSERT INTO your_table (column1, column2) VALUES (?, ?)", data)
# 提交更改并关闭游标和连接
conn.commit()
cursor.close()
conn.close()
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# 设置批处理大小
batch_size = 100
# 执行查询
cursor.execute("SELECT * FROM your_table")
# 使用fetchmany()分批获取数据
rows = cursor.fetchmany(batch_size)
while len(rows) > 0:
for row in rows:
# 在这里处理每一行数据
print(row)
# 获取下一批数据
rows = cursor.fetchmany(batch_size)
# 关闭游标和连接
cursor.close()
conn.close()