SQLAlchemy之查询

    技术2022-07-13  73

    94.jpg 131.gif

    whyfail 2020-01-21 22:29:59 127 收藏 分类专栏: Flask框架(3)——Flask数据库 版权 query查询函数 query函数可传递的参数一共有3种: 模型名。指定查找这个模型中所有的属性(对应查询表为全表查询)。 模型中的属性。可以指定只查找某个模型的其中几个属性。 聚合函数。 func.count:统计行的数量。 func.avg:求平均值。 func.max:求最大值。 func.min:求最小值。 func.sum:求和。 聚合函数:SQL基本函数,聚合函数对一组值执行计算,并返回单个值,也被称为组函数。 func上,其实没有任何聚合函数。但是因为底层做了一些魔术,只要mysql中有的聚合函数,都可以通过func调用。

    1.模型名

    r1 = session.query(News).all() print(r1)

    2.模型名中的属性。 返回的列表中的元素是 元组类型数据

    r2= session.query(News.title,News.price).all() print(r2)

    3.mysql聚合函数

    r3 = session.query(func.count(News.id)).first() print(r3)

    r4 = session.query(func.max(News.price)).first() print(r4)

    r5 = session.query(func.min(News.price)).first() print(r5)

    r6 = session.query(func.avg(News.price)).first() print(r6)

    r7 = session.query(func.sum(News.price)).first() print(r7)

    limit查询 limit:可以限制查询的时候只查询前几条数据。 属top-N查询

    articles = session.query(Article).limit(10).all()

    offset查询 offset:可以限制查找数据的时候过滤掉前面多少条。可指定开始查询时的偏移量。

    articles = session.query(Article).offset(10).limit(10).all()

    slice查询 切片:可以对Query对象使用切片操作,来获取想要的数据。 可以使用slice(start,stop)方法来做切片操作。 也可以使用[start:stop]的方式来进行切片操作。 一般在实际开发中,中括号的形式是用得比较多的。

    实现分页

    articles = session.query(Article).order_by(Article.id.desc()).slice(0,10).all()

    等价

    articles = session.query(Article).order_by(Article.id.desc())[0:10]

    filter常用过滤条件 过滤是数据提取的一个很重要的功能。 equals :==

    news= session.query(News).filter(News.title == "title1").first()

    not equals : !=

    query(User).filter(User.name != 'ed')

    like & ilike [不区分大小写]:

    query(User).filter(User.name.like('

    转载请注明原文地址:https://ipadbbs.8miu.com/read-24435.html
    最新回复(0)