sqlalchemy查询MySQL视图_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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值