gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 22:16:14 24 4
gpt4 key购买 nike

我正在开发一款可以在 MySQL 数据库中存储客户和我们为他们所做的工作的软件,但是为了让 UI 以我想要的方式工作,我需要拥有每个数据库或数组中的表供以后引用。例如

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

这样我就可以在前端 UI 中引用和显示所有信息任何其他使用树小部件在 PyQt4 中显示视觉导航的解决方案将不胜感激

我对将 MySQL 与 python 结合使用仍然很陌生,并且在理解所有内容时遇到了一些困难,我找到了这个但我不明白

How do I list all tables in all databases in SQL Server in a single result set?

从我可以描述的情况来看,我可能想做类似的事情,但我不知道如何实现它,而且它不会包含客户的工作信息。

最佳答案

我为我做过的一个项目写了一些非常相似的东西,我基本上在 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 中,并允许用户更改它按下一个按钮的数据。如果您有任何问题,请发表评论!

关于python - 如何在 Python 数组中列出 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38187338/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com