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

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

相关推荐
hz5678911 分钟前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
广州浮点FLOATLIC16 分钟前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
程序员Sunday18 分钟前
MySQL 为什么使用 B+ 树索引?把范围查询、回表和覆盖索引连起来
数据库·mysql
半杯咖啡半行码39 分钟前
Qt开发实战:数据库、MV 模式、QProcess与串口通信全攻略
数据库·qt
小米里的大麦1 小时前
16 MySQL 事务
数据库·mysql
西柚小萌新1 小时前
【LLM&&AI应用开发 八股文】--4.3.Agent智能体(下)
java·开发语言·数据库
邓工说电2 小时前
智慧断路器安全吗?数据加密、离线保护与合规认证全解读
大数据·数据库·人工智能·智能断路器·炜晔科技
adinnet20262 小时前
企业微调大模型(Fine-tuning):先吃透 RAG 还是先训自己的模型
大数据·数据库
上位机妹子3 小时前
EF Core 两种继承映射:每层次一张表(TPH)与每类型一张表(TPT)
数据库·c#·.netcore·ef core
小马同学-3 小时前
Redis消息队列与客户端编程
数据库·redis