您好!您提到的问题是关于Python pysqlite库中的参数化查询问题。
在pysqlite中,您可以使用占位符?
来表示参数,并使用元组或列表来传递参数值。例如:
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
query = "SELECT * FROM users WHERE name=?"
cursor.execute(query, ('John',))
results = cursor.fetchall()
for row in results:
print(row)
conn.close()
在这个例子中,我们使用了一个元组('John',)
来传递参数值。如果您有多个参数,可以使用列表:
query = "SELECT * FROM users WHERE name=? AND age=?"
cursor.execute(query, ('John', 30))
如果您使用的是pysqlite的另一个库sqlite3
,则可以使用命名参数来表示参数,例如:
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
query = "SELECT * FROM users WHERE name=:name"
cursor.execute(query, {'name': 'John'})
results = cursor.fetchall()
for row in results:
print(row)
conn.close()
在这个例子中,我们使用了一个字典{'name': 'John'}
来传递参数值。如果您有多个参数,可以使用字典:
query = "SELECT * FROM users WHERE name=:name AND age=:age"
cursor.execute(query, {'name': 'John', 'age': 30})
希望这些信息能够帮助您解决问题!如果您有其他问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云