Flask+Echarts可视化教程(二)flask-sqlalchemy 高级查询

本文介绍了使用Flask-SQLAlchemy进行高级数据库查询的方法,包括查询第一条记录、排序、条件过滤、别名使用、指定数据列查询、字符串匹配筛选、分组查询等操作。示例代码详细展示了如何实现各种查询,如多条件组合查询、排序、过滤指定字段,以及利用db.func进行聚合函数操作。这些技巧对于数据库查询和管理非常实用。
摘要由CSDN通过智能技术生成

flask-sqlalchemy 高级查询

假设现又一数据库映射类Student,和app.extensions里的db
资源参考:https://www.cnblogs.com/wen-kang/p/10885720.html

  • 查询第一条记录:
db.session.query(Student).first()
  • 查询并排序:
db.session.query(Student).order_by(Student.age,排序方式()).all()

排序字段可变,排序方式包括desc()、asc()

  • 多列排序:
db.session.query(Student).order_by(排序字段1,排序字段2).all()

排序字段写法同上

  • 指定字段条件查询:
db.session.query(Student).filter(Student.name==’xiaoming’).all()

也可写成:

db.session.query(Student).filter_by(name=’xiaoming’).all()

条件内容可变,另filter__by()里的变量为数据库字段名

  • 多条件查询(and or)
and:db.session.query(Student).filter(db.and_(条件1,条件2)).all() 
or:db.session.query(Student).filter(db.or_(条件1,条件2)).all()
  • 指定别名:
r1=db.session.query(Student).filter(Student.fullname.label(‘name‘)).first()
  • 使用别名:
print(r1.name) # 原名为fullname
  • 查询指定数据列:
db.session.query(Student.fullname).all()
  • 字符串匹配方式筛选条件
db.session.query(Student).filter(db.text(“age>:age”)).params(age=18).all()
  • 分组查询:
db.session.query(
	Student.sex,
	db.func.avg(Student.age)
).group_by(Student.sex).all()

以上是查询班级各性别平均年龄,db.func.方法()包括max,min,sum,avg等。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值