Python如何循环读取MySQL数据

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

以下是一个具体示例,展示如何逐步循环读取MySQL数据:

Python如何循环读取mysql,Python高效循环读取MySQL数据

  1. 安装与导入库: 使用pymysql库,可通过pip安装:

    pip install pymysql
  2. 建立数据库连接

    import pymysql
    # 配置连接参数
    connection = pymysql.connect(
        host='localhost',
        user='your_username',
        password='your_password',
        database='your_database',
        charset='utf8mb4'
    )
  3. 创建游标并执行查询

    cursor = connection.cursor()
    sql_query = "SELECT * FROM your_table"
    cursor.execute(sql_query)
  4. 循环读取数据

    • 逐行读取(使用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)  # 循环遍历所有数据
  5. 关闭连接

    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