- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一款可以在 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/
我是一名优秀的程序员,十分优秀!