gpt4 book ai didi

python - QtSql 对比 MySQLdb 对比 SQLAlchemy

转载 作者:可可西里 更新时间:2023-11-01 06:54:03 29 4
gpt4 key购买 nike

我正在开发一个 PyQt 程序,它很快就会从 xml 类型的后端切换到本地 MySQL 服务器上托管的后端。我一直在尝试阅读这三个选项中的每一个,但认为最好问问你们这些神。

我目前在使用 MySQLdb 执行 MySQL 方面的经验,并且一直在使用它,主要是因为对其他两种方法的存在一无所知。简而言之,问题是每一种的优点/缺点是什么,您会选择哪种?干杯!

最佳答案

我不是 SO 神,但我确实有一些意见。我在 Python 中使用 SQL 的主要经验是使用 Django。

解决方案取决于您愿意做出的 promise 。如果您想坚持使用 Qt 库而只使用 PyQt 库,那么请使用 QtSql。如果您只想快速构建您的应用程序但引入更多依赖项,那么我会选择 SQLAlchemy。您可能会遇到一些问题,例如 asker of this question ,然后您将需要拉入更多库或拉出您的头发。

所以,在一个漂亮的列表样式中:

MySQL数据库

  • 专业:纯 SQL
  • 缺点:丑
  • 缺点:要求你写SQL
  • 缺点:要求您管理游标,不进行任何缓存、参数化等...
  • 缺点:如果不重写所有数据库代码,就无法切换到不同的数据库后端

VERDICT:不要将其用于您要投入生产的任何内容

QtSQL

  • pro: 只使用 Qt 库
  • pro: 将返回 Qt 对象,因此它将与 Qt 的标准小部件集成
  • pro: 可以使用Qt支持的任何数据库后端
  • 缺点:仍然需要你写SQL

VERDICT:如果您想编写更少的 UI 代码和更多的数据库代码,请选择此选项

SQL炼金术

  • 优点:所有数据库逻辑都可以用 Python 代码写出来(因为它是一个 ORM)
  • pro: 支持多种数据库后端
  • 缺点:可能需要一些额外的配置才能让 Qt 很好地工作

VERDICT:如果您想编写更少的数据库代码并且可以解决一些 API 问题,请选择此选项。


另外,不要担心任何选择的性能问题——它们应该大致相同,大部分时间将花在 I/O 上。

关于python - QtSql 对比 MySQLdb 对比 SQLAlchemy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9778602/

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