国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Wie verwende ich Variablen in SQL-Anweisungen in Python?
P粉200138510
P粉200138510 2023-08-20 17:35:10
0
2
719
<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 in Python, ohne dass sie im Abfragetext enthalten sind? </p>
P粉200138510
P粉200138510

Antworte allen(2)
P粉545682500

Python DB-API的不同實現(xiàn)允許使用不同的占位符,所以你需要找出你正在使用的是哪個 -- 例如(使用MySQLdb):

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

或者(使用Python標準庫中的sqlite3):

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

或者其他的(在VALUES之后你可以有(:1, :2, :3),或者"命名樣式"(:fee, :fie, :fo)或者(%(fee)s, %(fie)s, %(fo)s),在execute的第二個參數(shù)中傳遞一個字典而不是一個映射)。檢查你正在使用的DB API模塊中的paramstyle字符串常量,并在http://www.python.org/dev/peps/pep-0249/上查找paramstyle,以了解所有的參數(shù)傳遞樣式!

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

請注意參數(shù)被傳遞為一個元組,(a, b, c)。如果你只傳遞一個參數(shù),元組需要以逗號結(jié)尾,(a,)。

數(shù)據(jù)庫API會對變量進行適當?shù)霓D(zhuǎn)義和引用。請注意不要使用字符串格式化運算符(%),因為

  1. 它不會進行任何轉(zhuǎn)義或引用。
  2. 它容易受到無法控制的字符串格式攻擊,例如SQL注入。
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage