在 Python 代碼中使用 SQL 語句中的變量
為了在 Python 編寫的 SQL 語句中插入變量,必須以特定方式表示參數,以防止它們作為查詢文本本身的一部分包含在內。正確的語法涉及使用佔位符並將變量作為元組傳遞。
考慮以下 Python 代碼示例:
<code class="language-python">cursor.execute("INSERT INTO table VALUES var1, var2, var3")</code>
其中 var1 是整數,var2 和 var3 是字符串。
為了在不將這些變量作為查詢文本的一部分包含在 Python 中的情況下合併這些變量,請使用以下語法:
<code class="language-python">cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))</code>
這裡的關鍵區別在於在 SQL 語句中使用佔位符 (%s) 並將變量作為元組傳遞(括在括號中)。數據庫 API 自動處理轉義和引用,確保數據安全地合併到查詢中。
避免使用字符串格式化運算符 (%) 直接傳遞變量,因為它會跳過任何必要的轉義或引用,使代碼容易受到 SQL 注入等攻擊。
以上是如何將變量安全地插入Python的SQL語句中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!