如何检查表是否包含数据?(Python Flask MYSQL)



如何准确检查表是否包含特定值?例如

if request.method == 'POST':
email = request.form.get("email")
cur = mysql.connection.cursor()
cur.execute("SELECT * from login_info")
data = cur.fetchall()    
if email == data: # <--- I don''t know. This is what I want to know```

这里的data变量将从cur.fetchall()函数返回一个元组,如下所示

((1,'random_email1@mail.com','First_name1','Last_name1'), 
(2,'random_email2@mail.com','First_name2','Last_name2'),
(3,'random_email3@mail.com','First_name3','Last_name3')...)

如果您需要查找具有特定电子邮件地址的行,我建议您为SQL命令执行此操作

email_query = "SELECT * FROM login_info WHERE email = %s"
values = (email)
cur.execute(email_query, values)
data = cur.fetchone()
#Assuming that there will be only one Row with the E-mail ID as the PRIMARY KEY

然后,数据元组将仅包含 SQL 表中的一行,如下所示(1,'random_email1@mail.com','First_name','Last_name')

在这里,您可以简单地使用data[1]获取电子邮件地址值,这是电子邮件在元组中的位置。

最新更新