So verwenden Sie Variablen zum Ausführen von SQL-Anweisungen in Python
P粉725827686
2023-08-21 16:40:37
<p>Ich habe den folgenden Python-Code: </p>
<pre class="brush:py;toolbar:false;">cursor.execute("INSERT INTO table VALUES var1, var2, var3,")
</pre>
<p>Wobei <code>var1</code> eine Ganzzahl ist, sind <code>var2</code> und <code>var3</code> </p>
<p>Wie schreibe ich Variablennamen, ohne dass Python sie zu einem Teil des Abfragetexts macht? </p>
不同的Python DB-API实现允许使用不同的占位符,所以你需要找出你正在使用的是哪种占位符 -- 例如(使用MySQLdb):
或者(使用Python标准库中的sqlite3):
或者其他方式(在
VALUES
之后,你可以使用(:1, :2, :3)
,或者使用"named styles"(:fee, :fie, :fo)
或者(%(fee)s, %(fie)s, %(fo)s)
,在这种情况下,你需要将一个字典作为第二个参数传递给execute
函数)。检查你正在使用的DB API模块中的paramstyle
字符串常量,并查看http://www.python.org/dev/peps/pep-0249/上的paramstyle,了解所有的参数传递方式!请注意参数是作为一个元组传递的,
(a, b, c)
。如果您只传递一个参数,元组需要以逗号结尾,(a,)
。数据库API会对变量进行适当的转义和引用。请注意不要使用字符串格式化运算符(
%
),因为