本条目收集了 Python 中的常用数据库接口模块,包括各种主流关系数据库和一些通用接口

如无特别注明,均实现(或部分实现)了 DB-API 标准。

更广泛的 Python 数据库技术参见 Python 数据库开发概要

1. 专用数据库连接模块

1.1. MySQL

MySQL -- 最流行的开源数据库

1.2. SQLite

SQLite -- 小巧轻便的嵌入式数据库

pysqlite -- SQLite 的半官方性质 Python 接口,Python 2.5 之后已成为标准库 sqlite3

1.3. PostgreSQL

PostgreSQL -- 比 MySQL 功能更强大、历史更悠久的开源数据库

PyGreSQL -- 历史最悠久,最流行的 PostgreSQL 接口

psycopg2 -- 特别为高并发环境设计的 PostgreSQL 驱动

pyPgSQL -- Python世界里的另一个 PostgreSQL 接口

1.4. Oracle

Oracle -- 数据库领域中的巨鳄,最为强大先进的商业数据库产品

DCOracle2 -- Zope 出品的 Oracle 驱动

cx_Oracle -- 另一个 Oracle 接口模块

1.5. IBM DB2

pydb2 -- DB2 的 Python 接口,此外还包括了若干小工具

1.6. SAP DB

sapdbapi -- SAP DB 的 Python 接口

1.7. Infomix

1.8. Interbase

kinterbasdb -- Interbase 4.0 和 5.0 的 Python接口

1.9. Ingres

1.10. Sybase

Sybase module for Python -- Sybase 的 DB-API 2.0 接口

1.11. SQL Server

pymssql 0.7.1 已经在 FreeBSD 5.4, 6.0, NetBSD 2.0.2, Linux with kernel 2.6, Solaris 10/x86, Mac OS X, Windows XP等多种平台上测试通过.

pymssql 0.7.4 经测试支持 SQL Server 2000, all service pack levels. pymssql 0.7.4 on Windows 经测试支持 SQL Server 2000 RTM, SP3a and SP4,SQL Server 2005 RTM.

其他版本的SQL Server也可能被支持.

在Windows平台下使用MS SQL DB-Library, 在Linux等平台使用Freetds连接SQL Server.

目前常见的一些问题: 不支持SQL Server的ntext数据类型,请把ntext类型的字段修改为nvarchar.--nEO

1.12. ThinkSQL

ThinkSQL -- 一个内置了Python接口的商业数据库产品

1.13. Matisse

Matisse -- 商业数据库产品Matisse,内置 Python 绑定支持,非 DB-API兼容。

2. 通用数据库接口模块

2.1. ODBC

mxODBC -- 流行的 mx 系列工具包中的一部分,也是其中唯一的商业产品(用于非商业开发不需付费)。实现了绝大部分 DB-API 2.0 接口。

pyodbc -- 开源的 Python ODBC 接口,完整实现了 DB-API 2.0 接口

ODBC Interface -- 随 PythonWin 附带发行的模块,文档和维护缺乏

2.2. JDBC

zxJDBC -- 专为 Jython 设计的 DB-API 2.0 接口,建立在底层的 JDBC 接口之上。已经包含在 Jython 2.1 以后的发行版中。

2.3. SQLRelay

SQLRelay -- Unix 环境下的通用数据库连接池,支持多种数据库和编程语言,提供了自己的 Python 接口,非 DB-API 兼容。

3. 其它模块

3.1. Gadfly

Gadfly 是 Python 实现的一个轻型 in-memory 关系数据库,本身即提供 DB-API 兼容的访问接口。