数据库和python

2024-05-23 19:40:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用PyQt编写一个用于显示GUI的音乐目录应用程序。我有一个关于选择数据库引擎的问题。选择太多了。 我可以使用:
-PyQt内置QSql
-sqlite3
-炼金术 -对象 -Python DB-API
可能还有更多的选择,这个列表是我从谷歌那里得到的(我对任何其他提议都持开放态度)。如果我决定使用某种ORM,我应该使用哪个数据库系统?MySql、PostgreSQL还是其他?我知道一些MySql,但是我听说了很多关于PostgreSQL的好消息,另一方面sqlite3似乎在桌面应用程序中最流行。如有任何建议,我将不胜感激。在

编辑: 一个应用程序要在Linux和Windows上运行。我认为数据库大小应该在100-10k左右。在


Tags: 对象引擎目录数据库应用程序db音乐postgresql
2条回答

SQLite3的优点是与Python一起提供,因此不需要任何安装。它有许多很好的特性(易用性、可移植性、ACID、存储在一个文件中,而且速度相当快)。在

SQLite是一个很好的起点。Python的dbapi保证了与所有流行DBs的一致接口,因此如果您改变主意,以后切换到另一个DB应该不难。在

决定是否使用ORM比较困难,以后更难改变主意。如果您可以在几个函数中隔离DB访问,那么您可能根本不需要ORM。在

最好使用ORM(Object-Relational Library)库,它允许您以OOP的方式进行设计,并让它为您处理数据库。有很多优点;但是最大的一个优点是您不必依赖于数据库引擎。您可以使用sqlite进行开发,并保持您的项目与Postgresql、Mysql甚至oracledd兼容,这取决于配置参数的一个单一更改。在

有鉴于此,我选择的ORM是SQLAlchemy,因为它在广为人知和使用方面非常成熟(但是其他的也可以)。在

相关问题 更多 >