python - 在 Python 中从数据库元组中获取项目

标签 python mysql database tuples pymysql

这是我的代码:

import pymysql

def connect():
    print("connect to database")
    pw = input("Password: ")
    conn = pymysql.connect(host='localhost', port=3306, 
                           user='root', passwd=pw, db='contacts')
    conn.autocommit(True)
    cur_ = conn.cursor()
    return cur_

def show_tables(self):
    print("show tables: ")
    self.execute("""SHOW TABLES""")
    print(self.fetchall())
    return self.fetchall()

db = connect()
table_names = show_tables(db)  # returns a tuple
print(len(table_names))  # output zero
table_name = table_names[0][0]  # ? - todo - get item from tuple

show_tables() 返回值 (('person',),)。 我想通过 table_names[0][0] 获取名称 person。但这行不通。 (('person',),) 的长度也是 0。但是为什么呢?

编辑: 我收到错误:

Traceback (most recent call last):
  File "/home/kame/Dropbox/code/python/scripts/database.py", line 65, in <module>
    table_name = table_names[0][0]  # ? - todo - get item from tuple
IndexError: tuple index out of range

最佳答案

看起来show_tables(self)正在返回null,一个关于None对象的列表,因为你只能调用一次cursor.fetchall()。

解决方案:注释该行

print(self.fetchall())

关于python - 在 Python 中从数据库元组中获取项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36873303/

相关文章:

python - X*Y 项的平均值并保持 numpy 数组的维度

php - 数据库规范化和数据输入(管理后端)

c# - 使用 Entity Framework 6 将数据从数据库存储到本地

python - Voronoi - 计算每个区域的确切边界

python - 高斯过程算法出错,numpy 内存问题?

python - 使用Python通过电子邮件发送错误消息[不接受用户名和密码]

mysql - 如何运行此 MySQL JOIN 查询?

php - 提交表单时查询为空

mysql - 如何在 RLIKE 查询中使用 GROUP_CONCAT 的结果?

php - Blueimp jQuery 文件上传与数据库集成