数据库知识体系概览
问题
Python 数据库开发涉及哪些核心知识?
答案
知识体系
| 主题 | 核心内容 | 面试重要度 |
|---|---|---|
| SQLAlchemy | Core + ORM、Session、关系映射 | ⭐⭐⭐⭐⭐ |
| Django ORM | Model、QuerySet、Manager、信号 | ⭐⭐⭐⭐⭐ |
| 连接池 | 连接管理、池配置、异步连接池 | ⭐⭐⭐⭐ |
| 数据库迁移 | Alembic、Django Migration、版本控制 | ⭐⭐⭐⭐ |
DB-API 2.0 标准
Python 定义了数据库访问的标准接口 PEP 249:
import sqlite3
# 所有 DB-API 驱动遵循相同接口
conn = sqlite3.connect("app.db")
cursor = conn.cursor()
# 参数化查询防止 SQL 注入
cursor.execute("SELECT * FROM users WHERE id = ?", (user_id,))
rows = cursor.fetchall()
conn.commit()
conn.close()
常见驱动:psycopg2/asyncpg(PostgreSQL)、pymysql/aiomysql(MySQL)、sqlite3(内置)。