一尘不染

Python-如何在Python的SQL语句中使用变量?

python

我有以下Python代码:

cursor.execute("INSERT INTO table VALUES var1, var2, var3,")

其中var1是整数,var2&var3是字符串。

如何在没有python的情况下编写变量名并将其作为查询文本的一部分?


阅读 3341

收藏
2020-02-08

共1个答案

一尘不染

cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))

请注意,参数作为元组传递。

数据库API会正确地对变量进行转义和引用。注意不要使用字符串格式运算符(%),因为

  1. 它不会进行任何转义或引用。
  2. 它容易受到不受控制的字符串格式攻击,例如SQL注入。
2020-02-08