Python中各种数据库的单一API

2024-09-27 20:18:58 发布

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

我在使用Perl-DBI方面有很好的经验模块DBI模块充当多个数据库(如Oracle、Postgres等)的单一API

我最近开始研究Python,我注意到Python中每个数据库都有单独的API。你知道吗

以下是我的问题: 1Python中不是只有一个DB API吗? 2如果不是,这不是Python的一个缺点吗?你知道吗


Tags: 模块api数据库dbpostgres经验perloracle
1条回答
网友
1楼 · 发布于 2024-09-27 20:18:58

没有任何Python可以与Perl的以DBI为中心的生态系统相媲美。取而代之的是:

  • DBAPI(pep249)定义了一个公共的底层接口,关系数据库驱动程序应该提供这个接口。你知道吗
  • 一些项目,比如SQLAlchemy Core,使用公共DBAPI接口对多个驱动程序进行抽象。你知道吗

由于模块系统不同,Python缺少合适的DBI等价物的缺点要比Perl少。假设您将自己限制为一个公共SQL子集和DBAPI,而不是使用特定于驱动程序的扩展,那么切换到其他驱动程序就像更改导入和更新连接信息一样简单:

- import somedatabase as db
+ import differentdriver as db

实际上,Python的DBAPI和Perl的DBI都不能让您随心所欲地切换数据库。然而,Perl的DBI使得编写与多个数据库一起工作的软件变得更加容易。你知道吗

相关问题 更多 >

    热门问题