fastapi项目-深入浅出db使用之SQLAlchemy基础

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 的原生能力,又提供了抽象层来提高开发效率,非常适合各种场景下的数据库开发需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值