1. 数据库连接基础
Python通过多种模块实现数据库操作,常见方式包括:
sqlite3
:内置的轻量级数据库(适合本地开发)MySQLdb
/PyMySQL
:MySQL数据库连接psycopg2
:PostgreSQL数据库连接SQLAlchemy
:ORM框架(后文详述)
通过
DB-API 2.0
规范,Python可统一操作不同数据库,建议优先使用sqlite3
进行原型开发。
2. ORM框架实践
使用ORM可简化数据库交互,推荐:
- 📚 SQLAlchemy教程:功能强大的ORM工具
- 🏗️ Django ORM:集成在Django框架中,适合Web开发
- 📊 Peewee:轻量级ORM,学习曲线低
ORM通过对象映射实现数据表与类的转换,例如:
User
类对应users
表,user.name
对应name
字段。
3. SQL注入防范
避免安全风险的关键实践:
- 使用参数化查询(推荐):
cursor.execute("SELECT * FROM users WHERE name = %s", (username,))
- 避免直接拼接SQL语句:
❌cursor.execute("DELETE FROM table WHERE id = " + user_id)
✅ 使用execute
方法传递参数
4. 数据库设计原则
- 📌 第一范式:字段不可再分
- 📌 第二范式:消除部分依赖
- 📌 第三范式:消除传递依赖
- 📊 使用索引优化查询速度(但避免过度索引)
建议结合数据库设计指南深入学习规范化理论与优化技巧。
5. 扩展学习路径
- 📚 Python数据库操作全攻略
- 🔄 数据库事务管理:ACID特性与
commit()
/rollback()
使用 - 🧠 高级主题:连接池、异步数据库操作、数据库迁移工具