执行以下操作时:
import pymysql
db = pymysql.connect(host='localhost', port=3306, user='root')
cur = db.cursor()
print(cur.execute("SELECT ParentGuardianID FROM ParentGuardianInformation WHERE UserID ='" + UserID + "'"))
输出为1
如何更改代码,以便打印ParentGuardianID(即'001')的实际值,而不是1
。
我确信答案很简单,但我是初学者,所以任何帮助都会非常感激 - 谢谢!
答案 0 :(得分:18)
cur.execute()
只返回受影响的行数。您应该cur.fetchone()
获取实际结果,或cur.fetchall()
如果您需要多行。
答案 1 :(得分:15)
cursor.execute()
方法给出了与SQL语句结果相关的游标。如果是select
查询,它将返回满足它的行(如果有)。因此,您可以使用for
循环迭代这些行。另外,我建议你使用pymysql.cursors.DictCursor
,因为它允许将查询结果视为字典。
import pymysql
db = pymysql.connect(host='localhost', port=3306, user='root')
cur = db.cursor(pymysql.cursors.DictCursor)
UserId = 'whatsoever'
sql = "SELECT ParentGuardianID FROM ParentGuardianInformation WHERE UserID ='%s'"
cur.execute(sql % UserId)
for row in cur:
print(row['ParentGuardianID'])
祝你好运!