MySQL Connector/Python 发行说明
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 节,“教程:使用缓冲游标提高员工工资”。