在Python中传递多个变量给SQL查询的正确语法是使用参数化查询。参数化查询可以防止SQL注入攻击,并且可以处理不同数据类型的变量。
以下是一个示例代码:
import mysql.connector
# 创建数据库连接
conn = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
# 创建游标对象
cursor = conn.cursor()
# 定义SQL查询语句
sql = "SELECT * FROM yourtable WHERE column1 = %s AND column2 = %s"
# 定义查询的变量
var1 = "value1"
var2 = "value2"
# 执行查询
cursor.execute(sql, (var1, var2))
# 获取查询结果
result = cursor.fetchall()
# 处理查询结果
for row in result:
print(row)
# 关闭游标和数据库连接
cursor.close()
conn.close()
在上面的代码中,我们首先创建了一个数据库连接,并创建了一个游标对象。然后,我们定义了一个SQL查询语句,其中包含两个占位符 %s
。接下来,我们定义了两个变量 var1
和 var2
,并将它们作为参数传递给 execute()
方法。这样,SQL查询就会将这两个变量的值填充到查询语句中的占位符位置。最后,我们使用 fetchall()
方法获取查询结果,并对结果进行处理。
请注意,在实际应用中,你需要根据自己的数据库类型和查询语句来进行相应的修改。