day95:flask:SQLAlchemy数据库查询进阶&关联查询

day95:flask:SQLAlchemy数据库查询进阶&关联查询[Python基础]

目录

1.数据库查询-进阶

  1.常用的SQLAlchemy查询过滤器

  2.常用的SQLAlchemy查询结果的方法

  3.filter

  4.order_by

  5.count

  6.limit&offset

  7.paginate

  8.group_by

  Tip:在flask中执行原生SQL语句

2.关联查询

  1.常用的SQLAlchemy关系选项

  2.一对一

  3.一对多

  4.多对多

1.数据库查询-进阶

1.常用的SQLAlchemy查询过滤器

过滤器 说明
filter() 把过滤器添加到原查询上,返回一个新查询
filter_by() 把等值过滤器添加到原查询上,返回一个新查询
limit() 使用指定的值限定原查询返回的结果
offset() 偏移原查询返回的结果,返回一个新查询
order_by() 根据指定条件对原查询结果进行排序,返回一个新查询
group_by() 根据指定条件对原查询结果进行分组,返回一个新查询

 

 

 

 

 

 

 

 

 

2.常用的SQLAlchemy查询结果的方法

all() 以列表形式返回查询的所有结果
first() 返回查询的第一个结果,如果未查到,返回None
first_or_404() 返回查询的第一个结果,如果未查到,返回404
get() 返回指定主键对应的行,如不存在,返回None
get_or_404() 返回指定主键对应的行,如不存在,返回404
count() 返回查询结果的数量
paginate() 返回一个Paginate分页器对象,它包含指定范围内的结果
having 返回结果中符合条件的数据,必须跟在group by后面,其他地方无法使用。

 

 

 

 

 

 

 

 

 

 

3.filter

1.filter设置判断条件

== != >= <= < >

 student = Student.query.filter(Student.name=="xiaohui32号").first()
    if student is None:
        return jsonify({"error":"100404","errmsg":"没有该学生信息!"})
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » day95:flask:SQLAlchemy数据库查询进阶&关联查询