在Python中,可以使用变量来动态构建SQL查询语句。以下是一种常见的方法:
name = "John"
age = 25
sql_query = "SELECT * FROM users WHERE name = '%s' AND age = %d" % (name, age)
在上面的例子中,%s
表示字符串类型的变量,%d
表示整数类型的变量。通过将变量放在字符串中的对应位置,可以将其插入到SQL查询语句中。
sqlite3
、psycopg2
等)来执行参数化查询。例如:import sqlite3
name = "John"
age = 25
conn = sqlite3.connect("example.db")
cursor = conn.cursor()
sql_query = "SELECT * FROM users WHERE name = ? AND age = ?"
cursor.execute(sql_query, (name, age))
results = cursor.fetchall()
for row in results:
print(row)
conn.close()
在上面的例子中,?
表示参数的占位符。通过在execute
方法中传递参数的元组,可以将变量插入到SQL查询语句中。
使用参数化查询可以有效防止SQL注入攻击,并且可以提高查询性能,因为数据库可以缓存已编译的查询语句。
请注意,以上示例仅为演示目的,实际使用时应根据具体的数据库和数据库驱动程序进行相应的调整。
领取专属 10元无门槛券
手把手带您无忧上云