如何在python mysql中将索引值与数据库值进行比较?

How to compare index value with database values in python mysql?

提问人:rajat maan 提问时间:2/7/2020 更新时间:2/7/2020 访问量:133

问:

我正在做的是将索引值与数据库的bar_code_no进行比较,如果bar_code_no用索引值进行验证,那么我想打印整行经过验证的bar_code_no,其中我有姓名、电子邮件 phone.no。我试过了,但无法进行比较。

import mysql.connector as mysql
mydb1=mysql.connect(
        user = 'rajat',
        passwd = 'rajat',
        host = 'localhost',
        database = 'master_database'
        )
bal = []
validate =  ('1', 'Green', '12:34:56:78:91:22', '456456', '2')
val = validate[3]
bal.append(val)
print(bal)

new_list = []
mycursor3 = mydb1.cursor()
mycursor3.execute("SELECT bar_code_no FROM android_display_data")
df = mycursor3.fetchall()
print(df)

if bal in df:
    print('it exists')
else:
    print('it does not exists')

输出如下:-

['456456']
[('456456',)]
it does not exists
Python MySQL 比较

评论

0赞 de_classified 2/7/2020
为什么不直接执行 df = mycursor3.fetchall(“SELECT bar_code_no FROM android_display_data”),这样您就可以删除“executing”的多余行
0赞 rajat maan 2/7/2020
我试过了先生,但我不知道为什么我会卡住,因为这不是一个大问题。
0赞 rajat maan 2/7/2020
df = mycursor3.fetchall(“SELECT bar_code_no FROM android_display_data”) 使用它显示错误 --TypeError: fetchall() 接受 1 个位置参数,但给出了 2 个
1赞 de_classified 2/7/2020
还行。。。我明白了,我的建议是做一个 SELECT * FROM ...其中 “bar_code_no” = bal(这是 validate 中索引 3 处的值)。您必须对 SQL 查询进行更改,这是一种方式,*(星号)为您提供所有记录,并且您使用 WHERE 作为依赖条件。
0赞 de_classified 2/7/2020
可以修复 init 以包含 fetchall() 的对象,或者只是将类更改为 @staticmethod,但我认为在您的情况下,现在不必担心 fetchall() 只需使用 execute()

答:

1赞 rajat maan 2/7/2020 #1

我得到了如何验证值的答案,但仍然遇到了一个问题,即如何打印存在已验证bar_code_no的整行。

import mysql.connector as mysql
mydb1=mysql.connect(
        user = 'rajat',
        passwd = 'rajat',
        host = 'localhost',
        database = 'master_database'
        )
bal = []
validate =  ('1', 'Green', '12:34:56:78:91:22', '456456', '2')
val = validate[3]
bal.append(val)
print(bal)

new_list = []
mycursor3 = mydb1.cursor()
mycursor3.execute("SELECT bar_code_no FROM android_display_data")
df = mycursor3.fetchall()
df1 = df[0]
df2 = list(df1)
print(df2)


if bal == df2:
    print('its exists')
else:
    print('it does not exist')