首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QtSql vs MySQLdb vs SQLAlchemy

QtSql vs MySQLdb vs SQLAlchemy
EN

Stack Overflow用户
提问于 2012-03-20 06:01:12
回答 2查看 3.7K关注 0票数 5

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-20 06:49:08

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

解决方案的关键在于你愿意致力于什么。如果你想坚持使用Qt库和PyQt库,那么就使用QtSql吧。如果您只想快速构建您的应用程序,但又想引入更多的依赖项,那么我建议使用SQLAlchemy。你可能会遇到像asker of this question这样的问题,然后你可能需要引入更多的库,或者拔出你的头发。

所以,在一个很好的列表样式中:

MySQLdb

SQL

  • pro:纯
  • con:丑陋的
  • con:要求您编写SQL
  • con:要求您管理游标,不执行任何缓存、参数化等...
  • con:如果不重写所有数据库代码

,无法切换到其他数据库后端

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

QtSQL

SQL:只使用Qt libraries

  • pro:会返回Qt对象,因此它将与Qt的标准控件集成

  • pro:可以使用任何数据库后端,Qt libraries

  • pro:仍然需要您编写

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

SQLAlchemy

  • pro:所有的数据库逻辑都可以用Python代码写出来(因为它是一个对象关系管理)
  • pro:支持许多数据库可能需要一些额外的配置才能很好地使用Qt

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

而且,不用担心任何选择的性能--它们都应该大致相等,并且大部分时间都花在I/O上。

票数 19
EN

Stack Overflow用户

发布于 2012-08-31 06:56:05

我知道有点晚了,但我建议你看看Camelot (http://www.python-camelot.com/)。它将PyQt和SQLAlchemy集成在一起,因此您可以编写更少的UI代码和数据库代码。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9778602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档