在 Python 中使用 MySQL 的預準備語句
在處理資料庫操作時,預備語句可以顯著提高查詢效能。在 Python 中,準備好的語句可以與 MySQL 一起使用。
Python 中的參數化查詢格式
在Python 中,您可以使用以下格式建立參數化查詢:
cursor.execute("SELECT FROM tablename WHERE fieldname = %s", [value])
參數標記%s 充當實際值的佔位符。不同的資料庫驅動程式可能使用不同的參數化樣式。若要確定適合您的驅動程式的樣式,您可以匯入驅動程式模組並列印其 paramstyle 屬性。
支援的參數化樣式
根據Python 增強提案(PEP- 249),支援以下參數化樣式:
用法範例
為了示範準備好的語句的用法,請考慮以下內容範例:
import mysql.connector db = mysql.connector.connect( host="localhost", user="username", password="password", database="database_name" ) cursor = db.cursor() # Create a parameterized query parameterized_query = "SELECT * FROM users WHERE name = %s" # Execute the query with the provided parameter cursor.execute(parameterized_query, ("John Doe",)) # Fetch the results results = cursor.fetchall() # Close the cursor and connection cursor.close() db.close()
使用參數化查詢可確保您的程式碼免受SQL 注入攻擊,並透過允許資料庫事先準備查詢計畫來提高查詢效能。
以上是如何在 Python 中使用 MySQL 的預先準備語句來提高查詢效能並防止 SQL 注入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!