語法
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