`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()

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

相关推荐
浅念-10 分钟前
Redis基础详解:单线程模型、String与Hash数据结构
服务器·数据库·redis·sql·mysql·nosql数据库·nosql
updayday85422 分钟前
离职域账号状态变更与Ping64操作记录核对
大数据·网络·数据库·安全·智能路由器
Nturmoils1 小时前
只恢复一张表,别把整个库都还回去
数据库
龙腾AI白云1 小时前
大语言模型:从语言理解到通用智能的跃迁
数据库·人工智能·机器学习·知识图谱
SelectDB2 小时前
快手基于 Apache Doris 千亿多模态检索的实践
大数据·数据库·数据分析
SelectDB2 小时前
StarRocks 迁移至 Apache Doris 完整指南:三步完成结构、数据与业务平滑切换
大数据·数据库·数据分析
这个DBA有点耶2 小时前
InnoDB索引组织表下,复合主键和自增主键的物理存储差异与选型对比
数据库·mysql·架构
其实防守也摸鱼2 小时前
常见安全架构中 Shiro 的认证确认机制解析
运维·服务器·数据库·windows·github
TDengine (老段)3 小时前
TDengine 常见问题 TOP7
大数据·数据库·时序数据库·常见问题·tdengine·涛思数据
+VX:Fegn08953 小时前
计算机毕业设计|基于java+ vue共享单车信息系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计