如何在Python SQL查询中使用变量?

时间:2019-04-07 06:08:45

标签: python sql syntax

我正在使用一些粘贴粘贴的代码通过Python / Flask在MySQL DB上执行SQL查询。我不熟悉它,它告诉我尝试输入变量的方式不是正确的语法。

我的代码运行查询以查看电子邮件是否已经存在。

问题代码:

def check_if_exists(val):
    import mysql.connector
    cnx = mysql.connector.connect(host=0.0.0.0", port=3306, user="username", passwd="password", db="testDB")
    cursor = cnx.cursor()
    query = """SELECT * FROM users WHERE email = val"""
    result = cursor.execute(query)
    print(result)

假设val是一列,但我希望它改用function参数。

result = check_if_exists('random@email.com')
>>> True

2 个答案:

答案 0 :(得分:2)

您可以将%s用作绑定值的占位符:

query = """SELECT * FROM users WHERE email = %s"""
result = cursor.execute(query, (val,))

答案 1 :(得分:0)

您可以使用F弦:

query = F"""SELECT * FROM users WHERE email = {val}"""