首页 > 其他分享 >关于query.filter()的一些常用的方法

关于query.filter()的一些常用的方法

时间:2022-12-30 17:22:47浏览次数:44  
标签:常用 name ed filter User text query

equals:

query.filter(User.name=='ed')
not equals:

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

query.filter(User.name.like('%ed%'))
in:

query.filter(User.name.in_(['ed','wen','jask']))
not in:

query.filter(~User.name.in_(['ed','wen','jask']))
in null:

query.filter(User.name==None)
is not null:

query.fillter(User.name!=None)
and:

query.filter(and_(User.name'ed',Username'ed jones'))
or:

query.filter(or_(User.name= 'ed',User.name=='wendy')
match:

query.filter(User.name.match('wendy'))
match() 使用特定于数据库的匹配或包含函数;它的行为会随着后端而变化,并且在诸如SQLite这样的一些后端是不可用的。

all():

返回一个列表

first():

返回至多一个结果,而且以单项形式,而不是只有一个元素的tuple形式返回这个结果

one():

返回且仅返回一个查询结果。当结果的数量不足一个或者多于一个时会报错

one_or_one():

当结果数量为0时返回None, 多于1个时报错

scalar():

成功则返回该行的第一列的列号

text():

from sqlalchemy import text
sql>>> for user in session.query(User).
... filter(text("id<224")).
... order_by(text("id")).all():
... print(user.name)

ed
wendy
mary
fred
params():传递参数

session.query(User).filter(text("id<:value and name=:name")).
... params(value=224, name='fred').order_by(User.id).one()

<User(name='fred', fullname='Fred Flinstone', password='blah')>
from_statement():直接使用完整的SQL语句,但是要注意将表名和列名写正确

session.query(User).from_statement(
... text("SELECT * FROM users where name=:name")).
... params(name='ed').all()

[<User(name='ed', fullname='Ed Jones', password='f8s7ccs')>]
count():返回符合条件的总数

session.query(User).filter(User.name.like('%ed')).count()

2
func_count():可以直接指出要测次数的某一项

from sqlalchemy import func
sql>>> session.query(func.count(User.name), User.name).group_by(User.name).all()

[(1, u'ed'), (1, u'fred'), (1, u'mary'), (1, u'wendy')]

标签:常用,name,ed,filter,User,text,query
From: https://www.cnblogs.com/zybyekai/p/17015389.html

相关文章

  • docker基础之常用命令(二)
    重要概念:镜像、容器镜像:可以理解为软件安装包,可以方便的进行传播和安装。容器:软件安装后的状态,每个软件运行环境都是独立的、隔离的,称之为容器。Docker关系图(简):  ......
  • 1.1 常用文件管理命令
    常用命令介绍(1)ctrlc:取消命令,并且换行(2)ctrlu:清空本行命令(3)tab键:可以补全命令和文件名,如果补全不了快速按两下tab键,可以显示备选选项(4)ls:列出当前......
  • 常用的shell有哪些?
    Linux是一个开源的操作系统,由分布在世界各地的多个组织机构或个人共同开发完成,每个组织结构或个人负责一部分功能,最后组合在一起,就构成了今天的Linux。例如:Linux内核......
  • IOS常用代码块
    SDWebImage加载大量高清图片时内存暴增staticBOOLSDImageCacheOldShouldDecompressImages=YES;staticBOOLSDImagedownloderOldShouldDecompressImages=YES;-......
  • Jquery中的attr()和prop()的区别
               ......
  • ipmitool常用命令规整
      注:超微主板已测试OK 一.远程电源管理 服务器远程开关机:其中H为IPMI的地址ipmitool-H192.168.7.110 -Uadmin-P'!QAZ2wsx'poweron #用这个命令,在......
  • jquery改变css样式和vue改变样式的区别
    jQuery做的就是操作dom节点,从而去改变css样式;而vue不用操作DOM,只关心数据,是从数据绑定的角度去改变样式的先来看看jQuery,我用的是vue框架,所以先安装jQuerynpminstal......
  • layer.open(常用)
    layer.open(常用)迷迭绿于2022-04-0813:38:49发布12797收藏15分类专栏:前端UI框架--layui文章标签:layui前端前端框架版权华为云开发者联盟该内容已......
  • Linux常用命令大全
    Linux常用命令大全(非常全!!!)系统信息 cat/etc/redhat-release显示安装的系统版本getconfLONG_BIT显示系统是多少位的(32/64bit)centos7的防火墙相关:firewall-cmd--state......
  • QueryWrapper中 or的使用
    queryWrapper.and(wrapper->{//拼接sqlwrapper.like("user_name",name).or().like("user_admin_name",name);......