语法
cursor = cnx.cursor([arg=value[, arg=value]...])
此方法返回一个 MySQLCursor()
对象,或者根据传递的参数返回它的子类。返回的对象是 cursor.CursorBase
实例。有关游标对象的更多信息,请参阅 第 10.5 节,“cursor.MySQLCursor 类” 和 第 10.6 节,“子类 cursor.MySQLCursor”。
可以将参数传递给 cursor()
方法来控制要创建的游标类型。
-
如果
buffered
为True
,则游标在执行操作后从服务器获取所有行。这在查询返回少量结果集时很有用。buffered
可以单独使用,也可以与dictionary
或named_tuple
参数一起使用。buffered
也可以传递给connect()
,为从连接对象创建的所有游标设置默认缓冲模式。请参阅 第 7.1 节,“Connector/Python 连接参数”。有关缓冲影响的信息,请参阅 第 10.6.1 节,“cursor.MySQLCursorBuffered 类”。
-
如果
raw
为True
,则游标在获取行时跳过从 MySQL 数据类型到 Python 数据类型的转换。原始游标通常用于获得更好的性能或当您想自己执行转换时。raw
也可以传递给connect()
,为从连接对象创建的所有游标设置默认原始模式。请参阅 第 7.1 节,“Connector/Python 连接参数”。 如果
dictionary
为True
,则游标将行作为字典返回。此参数从 Connector/Python 2.0.0 开始可用。如果
named_tuple
为True
,则游标将行作为命名元组返回。此参数从 Connector/Python 2.0.0 开始可用。如果
prepared
为True
,则游标用于执行预处理语句。此参数从 Connector/Python 1.1.2 开始可用。C 扩展从 Connector/Python 8.0.17 开始支持此功能。cursor_class
参数可用于传递一个类,用于实例化新的游标。它必须是cursor.CursorBase
的子类。
返回的对象取决于参数的组合。示例
如果不缓冲且不为原始:
MySQLCursor
如果缓冲且不为原始:
MySQLCursorBuffered
如果不缓冲且为原始:
MySQLCursorRaw
如果缓冲且为原始:
MySQLCursorBufferedRaw