在 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中文网其他相关文章!