MySQL'SHOW TABLES'返回count而不是list(Python)

时间:2017-06-07 16:14:17

标签: python mysql python-3.x pymysql

我正在对我用来查询数据库的脚本进行故障排除。为了确保我的一切工作正常,我将其剥离为简单的“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'。我错过了什么?

1 个答案:

答案 0 :(得分:3)

根据documentationexecute返回受影响的行数

  

返回:受影响的行数

为了获得所需的结果,您需要遍历cursor

cursor.execute('USE CustDB')
tables = [c for c in cursor]

或使用fetchall

cursor.execute('USE CustDB')
tables = cursor.fetchall()