【发布时间】:2014-05-08 22:21:37
【问题描述】:
在 perl 中,DBI 模块是与 DB 交互的标准方式,每个 DB 供应商都提供自己的 DBD 模块,供 DBI 使用。 (它有点类似于 JDBC。)我不知道在 python 中是否存在类似的模型。对于 Postgres,我看到有 pg 和 pgdb 模块,其中 pgdb 遵循 DB-API 2.0 而 pg 没有。我应该关心这个吗?如果我使用 pgdb,我是否应该期望来自 MySQL db 模块的相同接口,它遵循 DB-API 2.0?
谢谢!
【问题讨论】:
-
是的,DB-API 2.0 绝对是低级数据库访问的方式,实现它的模块确实应该实现相同的接口。对于抽象更高级别抽象 API 的 API,请查看 SQLAlchemy。它还提供 ORM 功能,但它的 core 可用于编写与任何特定 RDBMS 无关的代码。
-
另请参阅database URLs 上的 SQLAlchemy 文档,尤其是 PostgreSQL 上的注释。
标签: python mysql database postgresql