我正在对我用来查询数据库的脚本进行故障排除。为了确保我的一切工作正常,我将其剥离为简单的“SHOW TABLES”查询。问题是它返回表的计数而不是它应该返回的名称列表。
import pymysql
connection = pymysql.connect(host='10.0.0.208', user='admin', passwd='Passwrd')
cursor = connection.cursor()
sqlstring = 'SHOW TABLES;'
cursor.execute('USE CustDB')
x = cursor.execute(sqlstring)
print(x)
这只是返回'17'。我错过了什么?
答案 0 :(得分:3)
根据documentation,execute
返回受影响的行数
返回:受影响的行数
为了获得所需的结果,您需要遍历cursor
cursor.execute('USE CustDB')
tables = [c for c in cursor]
或使用fetchall
cursor.execute('USE CustDB')
tables = cursor.fetchall()