如何在Python数组中列出MySQL数据库



我正在工作的一个软件,可以存储客户端和我们正在为他们做的工作在MySQL数据库,但对于UI工作的方式,我想我需要有每一个数据库或表在一个数组引用以后。例如

MysqlTables = [customers,clients,jobs]
MysqlTables[0] = [joshua,alex,james]
MysqlTables[0][0] = ["computer issue"]

这样我可以在前端UI中引用和显示所有信息使用tree小部件在PyQt4中显示可视导航的任何其他解决方案都将是值得赞赏的

我仍然很新的使用MySQL与python和我有一些麻烦理解一切,我发现这一点,但我不明白它

如何在一个结果集中列出SQL Server中所有数据库中的所有表?

从我可以描绘从这我可能想做一些类似的事情,但我不知道如何实现它,它将不包含客户端的工作信息。

我为我做的一个项目写了一些非常类似的东西,在这个项目中,我基本上在GUI中有一个数据库界面,我允许用户编辑和添加条目到数据库中,而不必进入MySql Workbench。

您将需要两个函数与数据库交互,一个用于检索条目,一个用于执行更改。

这是一些使用SqlAlchemy从数据库检索信息的代码。

def get_info():
    sql = text('SELECT id, '
                   'serial_number, '
                   'weight_name, '
                   'units, '
                   'nominal, '
                   'customer_name, '
                   'density, '
                   'density_uncert , '
                   'volumetric_exp, '
                   'comment '
                   'FROM weights_external '
                   'ORDER BY id ')
    return self.engine.execute(sql).fetchall()

从名为"weights_external"的表中选择id、序列号、单位等,并按id排序。self.engine.execute(sql).fetchall()返回一个生成器(我想,它可能是一个列表,但我不记得我的头不好意思!),你可以循环并得到所有的结果。在这个例子中,我从这个表中得到10列。如果表有100行,那么该函数将返回一个长度为100的列表,该列表的每个元素将是一个长度为10的列表,每个元素包含来自一列的信息。

我将这个长度为100的列表存储在一个变量中,并使用该变量填充GUI的QTableWidget。

我有一个单独的按钮来调出一个子窗口,允许用户添加一行。此代码与get_info()非常相似,不同之处在于您现在要更新或插入到表中(您可以在SqlAlchemy或MySql文档中查找)。基本上,你会得到类似这样的内容:

def push_data(self, data):
    table = self.weights_external.insert()
    self.engine.execute(table.values(id=data['id'],
                                     serial_number=data['serial_num'],
                                     ...
                                     comment=data['comment']))
由于时间和空间的原因,我省略了中间的内容,但是这几段代码应该允许您从数据库检索数据,将其放入QTableWidget或另一个QObject中,并允许用户通过按下按钮来更改该数据。如果您有任何问题,请评论!

相关内容

  • 没有找到相关文章

最新更新