是的,Python 官方提供了一个统一的数据库访问接口规范,称为 Python Database API Specification (DB-API)。DB-API 是一个接口标准,定义了 Python 中数据库接口的基本结构和功能,使得不同的数据库模块能够在某种程度上保持一致。
DB-API 的主要特征:
- 连接管理:提供打开和关闭连接的功能。
- 游标操作:游标用于执行 SQL 语句并获取结果。
- 执行 SQL 语句:允许执行参数化的查询,支持多种 SQL 语句。
- 事务处理:支持事务的提交和回滚。
- 错误处理:定义了一套数据库错误异常类。
主要模块示例:
- sqlite3:Python 标准库中自带的一个支持 SQLite 数据库的模块。
- mysql-connector-python、psycopg2 等:第三方库实现 DB-API 接口,分别支持 MySQL 和 PostgreSQL。
示例代码:
以 sqlite3
为例,演示 DB-API 的基本用法:
import sqlite3
# 1. 建立连接
connection = sqlite3.connect('example.db')
# 2. 创建游标
cursor = connection.cursor()
# 3. 执行 SQL 语句
cursor.execute('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)')
# 4. 插入数据
cursor.execute('INSERT INTO users (name) VALUES (?)', ('John Doe',))
# 5. 提交事务
connection.commit()
# 6. 查询数据
cursor.execute('SELECT * FROM users')
rows = cursor.fetchall()
for row in rows:
print(row)
# 7. 清理
cursor.close()
connection.close()
参考文献:
DB-API 使得不同数据库的操作在代码层面上更加一致,并且可以简化数据库与应用程序之间的交互。通过遵循这个标准,您可以更容易地在不同数据库之间切换。