如何将mySQL查询存储为python字典并稍后在脚本中调用?

时间:2016-09-12 17:35:44

标签: python mysql dictionary

我有一个名为“ uid ”的表格,其中有两个字段, rfid empid

  • 示例记录1 rfid = 88 999 33 555 empid = 1
  • 示例记录2 rfid = 64 344 77 222 empid = 2

我想运行一个查询,它将所有这些值存储在python字典中,并允许我将rfid编号设置为稍后在脚本中调用的变量(MyRFID):

db = MySQLdb.connect("MyIp", "MyUser", "MyPass", "MyDB", cursorclass=MySQLdb.cursors.DictCursor)
curs=db.cursor()
curs.execute("""SELECT number, empid FROM rfid """)

因此,稍后在代码中我可以检查是否从现有变量中获得匹配:

if MyVariable == MyRFID:
    #Create new record for that empid

1 个答案:

答案 0 :(得分:0)

我认为你正在寻找胎儿方法。致电后

cur.execute("""SELECT number, empid FROM rfid """)

你会这样做:

rows = cur.fetchall()

然后行将包含元组列表。如果您特别需要它作为字典,您可以在此示例中执行dict(rows),但这只能起作用,因为您的查询恰好返回两列。如果它超过两列,您需要以下内容:

rows_dict = dict([ k[0], k[1:]) for k in rows])

(见:Converting List of 3 Element Tuple to Dictionary

如果你想象的字典有列名作为键,你需要查看DictCursor(Python: use mysqldb to import a MySQL table as a dictionary?)。