`sqlalchemy` 基本使用

1. 简介

SQLAlchemy 是 Python 社区中最流行且功能最强大的 数据库工具包 和 对象关系映射(ORM)框架。它提供了高效且灵活的数据库访问解决方案,使开发者能够用 Pythonic 的方式操作各种关系型数据库。

双引擎架构:

  • ORM层(高阶抽象):简化数据模型操作

  • Core层(SQL表达式语言):直接构建复杂SQL语句

官网: SQLAlchemy Documentation --- SQLAlchemy 2.0 Documentation

下载命令:

复制代码
pip install sqlalchemy
2. 基本使用方法
2.1 orm入门
复制代码
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import declarative_base, sessionmaker

Base = declarative_base()

class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    name = Column(String(50))
    age = Column(Integer)

# 初始化引擎并创建表
engine = create_engine('mysql+pymysql://root:root@127.0.0.1:3306/spiders?charset=utf8')
Base.metadata.create_all(engine)

数据增删改查

复制代码
# 创建和管理数据库会话(Session 对象)
Session = sessionmaker(bind=engine)
session = Session()

# 新增记录
new_user = User(name="Alice", age=30)
session.add(new_user)
session.commit()

# 查询记录
user = session.query(User).filter_by(name="Alice").first()
print(user.id, user.name)  # 输出: 1 Alice

# 更新记录
user.age = 31
session.commit()

# 删除记录
session.delete(user)
session.commit()

在数据库中建了一张表,有数据的时候截图如下:

相关推荐
cnskylee4 分钟前
【MySQL】麒麟V10 SP3系统安装MySQL-Commercial-8.0.46
数据库·mysql·adb
梦幻通灵6 分钟前
修改MySQL数据库递增序列【持续更新】
数据库·mysql
liminla!9 分钟前
SQL 从入门到进阶:语法速查与实战练习(完整优化版)
数据库·sql·算法
tongyiixiaohuang14 分钟前
供应商主数据同步实战:从易快报到金蝶云星空的单一策略落地
java·网络·数据库
大侠归来1 小时前
常用 MySQL 分库分表方案详解
数据库·mysql
kingx32 小时前
Windows Server 2008 应急加固实战:7 项入侵痕迹排查与修复
数据库·windows·提权·应急响应·加固
xiaogai_gai2 小时前
采购业务退款单同步实战:从钉钉审批流到金蝶云星空付款单
java·数据库·钉钉
AlickLbc3 小时前
DM-V8数据库证书过期处理过程记录
数据库
l1t3 小时前
DeepSeek总结的五分钟测试:Ted Dunning 谈 DuckDB 为何让分析更轻松
数据库·sql·duckdb
超级新零售3 小时前
零售 SaaS 与本地部署,技术责任边界究竟怎么分?
数据库·零售