Python如何循环读取MySQL数据
Python可以通过游标(cursor)逐行或批量循环读取MySQL数据库中的数据,常用的方法包括使用fetchone()、fetchmany()或fetchall()结合循环结构,需要安装并导入MySQL连接库(如mysql-connector-python或pymysql),建立数据库连接后创建游标对象执行SQL查询,最后通过循环遍历结果集处理数据。
以下是一个具体示例,展示如何逐步循环读取MySQL数据:

-
安装与导入库: 使用
pymysql库,可通过pip安装:pip install pymysql
-
建立数据库连接:
import pymysql # 配置连接参数 connection = pymysql.connect( host='localhost', user='your_username', password='your_password', database='your_database', charset='utf8mb4' ) -
创建游标并执行查询:
cursor = connection.cursor() sql_query = "SELECT * FROM your_table" cursor.execute(sql_query)
-
循环读取数据:
- 逐行读取(使用
fetchone()):while True: row = cursor.fetchone() if not row: break print(row) # 处理每一行数据 - 批量读取(使用
fetchmany()):batch_size = 100 while True: rows = cursor.fetchmany(batch_size) if not rows: break for row in rows: print(row) # 处理每批数据 - 一次性读取(使用
fetchall()):rows = cursor.fetchall() for row in rows: print(row) # 循环遍历所有数据
- 逐行读取(使用
-
关闭连接:
cursor.close() connection.close()
关键注意事项:
- 游标类型:可设置
cursor=pymysql.cursors.SSCursor创建流式游标,适用于处理大量数据,避免内存溢出。 - 资源管理:使用
with语句自动管理连接和游标,确保资源释放。 - 错误处理:添加
try-except块捕获数据库操作异常。
通过以上方法,Python可以高效、灵活地循环读取MySQL数据,适用于数据分析、迁移或实时处理等场景,根据数据量大小和内存限制,选择fetchone()、fetchmany()或流式游标能优化性能。
未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网。
原文地址:https://www.html4.cn/16822.html发布于:2026-09-14





