SQLAlchemy基础
从三个方面入手讲述
一、SQLAlchemy是什么:
SQLAlchemy 是一个功能强大的 Python 库,用于处理数据库的交互,提供了 核心(Core) 和 ORM(对象关系映射) 两种模式。
它不仅支持直接执行 SQL,还能将数据库表与 Python 对象映射,简化数据库操作。
二、SQLAlchemy做什么:
1. 管理数据库连接
通过 Engine 统一管理数据库连接和 SQL 的执行。
from sqlalchemy import create_engine
engine = create_engine("sqlite:///example.db")
2. 定义数据库表结构
使用 Python 代码描述数据库架构。
from sqlalchemy import Table, Column, Integer, String, MetaData
metadata = MetaData()
users = Table(
"users", metadata,
Column("id", Integer, primary_key=True),
Column("name", String),
Column("age", Integer)
)
3. 执行 CRUD 操作
• 核心模式:直接运行 SQL 表达式。
• ORM 模式:用 Python 对象增删改查。
核心模式 - 插入数据
with engine.connect() as conn:
conn.execute(users.insert(), {"name": "Alice", "age": 25})
ORM 模式 - 查询数据
from sqlalchemy.orm import sessionmaker
Session = sessionmaker(bind=engine)
session = Session()
results = session.query(User).all()
4. 简化事务管理
自动管理数据库的事务回滚和提交,减少手动管理事务的负担。
5. 跨数据库兼容性
支持 MySQL、PostgreSQL、SQLite 等主流数据库,轻松实现代码跨平台迁移。
三、为什么:
1. 高效管理数据库操作
SQLAlchemy 提供的高层接口和 SQL 表达式语言,使得数据库操作更灵活,减少重复代码。
2. 提升代码可维护性
使用 ORM 模式,开发者可以直接操作 Python 对象,而不是手写繁琐的 SQL 语句。
3. 减少错误
自动处理连接池、事务、SQL 注入等底层细节,让开发者专注于业务逻辑。
4. 可扩展性强
既适合简单的脚本,又能胜任复杂的大型项目,支持对性能优化的精细控制。
SQLAlchemy 的核心理念是灵活性,它既保留了 SQL 的原生能力,又提供了抽象层来提高开发效率,非常适合各种场景下的数据库开发需求。
1264

被折叠的 条评论
为什么被折叠?



