文档主页
MySQL Connector/Python 开发者指南
相关文档 下载本手册
PDF (US Ltr) - 0.7Mb
PDF (A4) - 0.7Mb


10.6.1 cursor.MySQLCursorBuffered 类

MySQLCursorBuffered 类继承自 MySQLCursor

在执行查询后,MySQLCursorBuffered 游标会从服务器获取整个结果集并缓冲行。

对于使用缓冲游标执行的查询,行提取方法(例如 fetchone())会从缓冲行集中返回行。 对于非缓冲游标,在调用行提取方法之前,不会从服务器获取行。 在这种情况下,必须确保在对同一连接执行任何其他语句之前获取结果集的所有行,否则将引发 InternalError(找到未读结果)异常。

当需要将多个具有较小结果集的查询组合或相互计算时,MySQLCursorBuffered 非常有用。

要创建缓冲游标,请在调用连接的 cursor() 方法时使用 buffered 参数。 或者,要默认将从连接创建的所有游标缓冲,请使用 buffered 连接参数

示例

import mysql.connector

cnx = mysql.connector.connect()

# Only this particular cursor will buffer results
cursor = cnx.cursor(buffered=True)

# All cursors created from cnx2 will be buffered by default
cnx2 = mysql.connector.connect(buffered=True)

有关实际用例,请参阅第 6.1 节,“教程:使用缓冲游标提高员工工资”