所以我想将输入值与我的数据库值进行比较。如果输入值与数据库的值相同,我想print(inputvalue)
。但如果不一样,我想print("Data Does Not Exist")
所以我尝试过这段代码:
cur = connection.cursor()
query = """ SELECT * FROM `foo` """
cur.execute(query)
result = cur.fetchall()
inputvalue = input("Input= ")
for x in result:
if inputvalue not in x:
print("Data Does Not Exist")
else:
print(inputvalue)
这是输出:
inputvalue= 1728192
Data Does Not Exist
Data Does Not Exist
Data Does Not Exist
Data Does Not Exist
1728192
Data Does Not Exist
Data Does Not Exist
Data Does Not Exist
我期望输出是
Inputvalue= 1728192
Data Does Not Exist
如果数据不存在,
这个输出:
Inputvalue= 1728192
1728192
如果数据存在
任何答案将不胜感激!
我建议不要将 foo 中的所有行加载到 python 中,而是查询该特定值是否在您的数据库中。数据库针对此类请求进行了优化。如果数据库中有大量数据,您的方法将需要大量时间将所有内容加载到内存中(这很容易导致内存错误)。
所以我猜你将你的值存储在名为“bar”的列中:
inputvalue = input("Input= ")
cur = connection.cursor()
query = """ SELECT * FROM `foo` WHERE bar = inputvalue """
cur.execute(query)
row_count = cur.rowcount
if row_count > 0:
print(inputvalue)
else:
print("Data Does Not Exist")
为了让您了解为什么您的方法没有按预期工作:for x in result:
您循环遍历表中的每一行,并且对于每一行,检查输入值是否在其中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)