6.9.6.1 cursor.MySQLCursorBuffered 类

该类MySQLCursorBuffered继承自 MySQLCursor.

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

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

MySQLCursorBuffered在需要合并或计算具有小结果集的多个查询的情况下很有用。

要创建缓冲游标,请buffered 在调用连接 cursor() 方法时使用参数。或者,要使所有从连接创建的游标默认缓冲,请使用 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.6.1 节“教程:使用缓冲游标提高员工的薪水”