Documentation Home

10.2.6 MySQLConnection.cursor()方法

句法:

cursor = cnx.cursor([arg=value[, arg=value]...])

MySQLCursor()此方法根据传递的参数 返回一个对象或其子类。返回的对象是一个cursor.CursorBase 实例。有关游标对象的更多信息,请参阅 第 10.5 节,“cursor.MySQLCursor 类”第 10.6 节,“子类 cursor.MySQLCursor”

可以将参数传递给该cursor() 方法以控制要创建的游标类型:

  • 如果bufferedTrue,则游标在执行操作后从服务器获取所有行。这在查询返回小结果集时很有用。buffered可以单独使用,也可以与 dictionaryor named_tuple参数结合使用。

    buffered也可以传递给 connect() 为从连接对象创建的所有游标设置默认缓冲模式。请参阅 第 7.1 节,“连接器/Python 连接参数”

    有关缓冲影响的信息,请参阅 第 10.6.1 节,“cursor.MySQLCursorBuffered Class”

  • 如果rawTrue,则游标在获取行时会跳过从 MySQL 数据类型到 Python 类型的转换。原始游标通常用于获得更好的性能或当你想自己进行转换时。

    raw也可以传递给 connect() 为从连接对象创建的所有游标设置默认原始模式。请参阅 第 7.1 节,“连接器/Python 连接参数”

  • 如果dictionaryTrue,则游标将行作为字典返回。此参数从 Connector/Python 2.0.0 开始可用。

  • 如果named_tupleTrue,则游标将行作为命名元组返回。此参数从 Connector/Python 2.0.0 开始可用。

  • 如果preparedTrue,则游标用于执行准备好的语句。此参数从 Connector/Python 1.1.2 开始可用。从 Connector/Python 8.0.17 开始,C 扩展支持这一点。

  • cursor_class参数可用于传递用于实例化新游标的类。它必须是 的子类cursor.CursorBase

返回的对象取决于参数的组合。例子:

  • 如果没有缓冲而不是原始的:MySQLCursor

  • 如果缓冲而不是原始的: MySQLCursorBuffered

  • 如果没有缓冲和原始:MySQLCursorRaw

  • 如果缓冲和原始: MySQLCursorBufferedRaw