当前位置:   article > 正文

sqlalchemy查询MySQL视图_sqlalchemy查询使用

sqlalchemy 视图

1.带条件查询

查询是最常用的,对于各种查询我们必须要十分清楚,首先是带条件的查询

#带条件查询

rows= session.query(User).filter_by(username='jingqi').all()

print(rows)

rows1= session.query(User).filter(User.username=='jingqi').all()

print(rows1)

rows2= session.query(User.username).filter(User.username=='jingqi').all()

print(rows2)

rows3= session.query(User.username).filter(User.username=='jingqi')

print(rows3)

`filter_by`和`filter`都是过滤条件,只是用法有区别`filter_by`里面不能用`!= `还有`>

前两个查询的是`User`,所以返回结果也是一个对象,但是`rows2`查询的是属性值,所以返回的是属性值。

`rows3`可以看到`SQLAlchemy `转成的`SQL`语句,`SQLAlchemy`最后都是会转成`SQL`语句,通过这个方法可以查看原生`SQL`,甚至有些时候我们需要把`SQLAlchemy`转成的`SQL`交给DBA审查,合适的才能使用。

查询要知道查询结果的返回怎样的数据

print( session.query(User).filter(User.username=='jingqi').all() )

print( session.query(User).filter(User.username=='jingqi').first())

print( session.query(User).filter(User.username=='jingqi').one())#结果为一个时正常,多了就报错

print( session.query(User).get(2))#通过id查询

上面三条记录,第一个查出所有符合条件的记录,第二个查出所有符合记录的第一条记录,第三个返回一个对象,如果结果有多条就会报错,第四个通过主键获取记录

除此之外,我们偶尔也会需要限制返回的结果数量

#限制查询返回结果

print( session.query(User).filter(User.username!='jingqi').limit(2).all())

p

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/527484
推荐阅读
相关标签
  

闽ICP备14008679号