Python pymysql - 遍历 mysql 表键和值

Ber*_*lin 5 python mysql pymysql

我是 python pymysql 的新手(我在 Ruby 之前使用过 Mysql2 gem),我想从 mysql 表中获取键和值并执行一些操作:

例如:

dbconnection = pymysql.connect(host=mysql_hostname, user=mysql_username, password=mysql_pass, db=mysql_schema, charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)
cursor = dbconnection.cursor()
_SQL = (""" 
        select * ...
        """)

cursor.execute(_SQL)
result = cursor.fetchall()
for row in result:
    print(row)
    print("\n")
    # How can I access each key and each value for example: STATUS is the value and 3 is the key
    # I want to do something like this: 
    #'if the value of 'CAP' > 1: change the value of status where the ID key
    #   cursor.execute("UPDATE <table> SET row[STATUS]='1' WHERE ID='row[ID]'")
Run Code Online (Sandbox Code Playgroud)

输出:

{'STATUS': 3, 'ID': 10, 'CAP': 1}
{'STATUS': 3, 'ID': 11, 'CAP': 2}
{'STATUS': 3, 'ID': 12, 'CAP': 3}
Run Code Online (Sandbox Code Playgroud)

谢谢

Wil*_*sem 4

Arow只是一个dict离子。因此您可以使用.items()生成键和值的序列:

for row in result:
    for key,value in row.items():
        print('The key is %s'%key)
        print('The value is %s'%value)
Run Code Online (Sandbox Code Playgroud)