1. 数据库连接基础

Python通过多种模块实现数据库操作,常见方式包括:

  • sqlite3:内置的轻量级数据库(适合本地开发)
  • MySQLdb/PyMySQL:MySQL数据库连接
  • psycopg2:PostgreSQL数据库连接
  • SQLAlchemy:ORM框架(后文详述)
Python_数据库连接

通过DB-API 2.0规范,Python可统一操作不同数据库,建议优先使用sqlite3进行原型开发。

2. ORM框架实践

使用ORM可简化数据库交互,推荐:

  • 📚 SQLAlchemy教程:功能强大的ORM工具
  • 🏗️ Django ORM:集成在Django框架中,适合Web开发
  • 📊 Peewee:轻量级ORM,学习曲线低
SQLAlchemy_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方法传递参数
SQL注入防范

4. 数据库设计原则

  • 📌 第一范式:字段不可再分
  • 📌 第二范式:消除部分依赖
  • 📌 第三范式:消除传递依赖
  • 📊 使用索引优化查询速度(但避免过度索引)

建议结合数据库设计指南深入学习规范化理论与优化技巧。

5. 扩展学习路径

  • 📚 Python数据库操作全攻略
  • 🔄 数据库事务管理:ACID特性与commit()/rollback()使用
  • 🧠 高级主题:连接池、异步数据库操作、数据库迁移工具