首頁  >  文章  >  資料庫  >  如何在 Python 中使用 MySQL 來高效執行準備好的語句?

如何在 Python 中使用 MySQL 來高效執行準備好的語句?

Barbara Streisand
Barbara Streisand原創
2024-11-06 12:44:02865瀏覽

How can I efficiently execute prepared statements with MySQL in Python?

在 Python 中使用 MySQL 的預先準備語句

開發 Python 程式碼時,通常需要使用預備語句與 SQL 資料庫互動。這可以實現更高的執行效率並防止 SQL 注入攻擊。

在您的程式碼中,嘗試直接使用「PREPARE」和「EXECUTE」語句時遇到語法錯誤。這是因為 Python 沒有自己的預先準備語句機制,您應該使用 MySQLdb 函式庫的功能。

修正後的程式碼應如下所示:

sql = ('INSERT INTO {} (date, time, tag, power) VALUES '
       '(%s, %s, %s, %s)'.format(self.db_scan_table))

for (d, t, tag, power) in <your loop>:
    self.cursor.execute(sql, (d, t, tag, power))

或者,您可以使用遊標物件的execute_many()方法一次插入多行:

data = [(d, t, tag, power) for <your loop>]
self.cursor.executemany(sql, data)

這將顯著提高效能,特別是對於大型資料集。

以上是如何在 Python 中使用 MySQL 來高效執行準備好的語句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn