1.基础查询流程
graph TD
A[创建Session会话] --> B[构造SELECT语句]
B --> C[执行查询操作]
C --> D[处理查询结果]
- 使用SQLAlchemy的
select()函数构建查询
2.全表查询示例
1 | from sqlmodel import select, Session |
核心要点:
select(Hero)等同于SQL的SELECT * FROM herosession.exec()执行查询,返回结果对象.all()获取所有结果列表
3.字段筛选查询
1 | # 仅选择name和secret_name字段 |
特性说明:
- 支持显式指定查询字段
- 使用
.where()进行条件过滤 - 通过
.order_by()实现结果排序
4.结果处理技巧
1 | # 获取第一条记录 |
高级功能:
.first()获取首条记录.limit()和.offset()实现分页.count()统计匹配记录数
5.关联查询示例
1 | from sqlmodel import join |
关联查询要点:
- 使用
join()方法连接相关表 - 结果返回元组形式数据
- 支持自动解析外键关系
6.调试与优化
1 | # 查看生成的SQL语句 |
调试技巧:
- 直接打印statement对象查看原生SQL
- 通过
echo=True记录所有SQL操作 - 使用DB Browser验证查询结果
提示:完整示例代码建议参考官方文档 ,复杂查询建议结合SQLAlchemy的查询构建器