sqlAlchemy的ORM经典教程

本文介绍了使用SQLAlchemy ORM进行各种数据库查询操作的方法,包括等值、不等值、模糊匹配、集合成员判断、空值判断、逻辑组合及排序等,并展示了如何实现分页查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

资料来源:http://www.jianshu.com/p/8d085e2f2657

等于查询:

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

不等于查询:

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

like查询:

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

in查询:

query.filter(User.name.in_(['ed', 'wendy', 'jack']))

not in 查询

query.filter(~User.name.in_(['ed', 'wendy', 'jack']))

is null查询:

query.filter(User.name == None)

is not null查询

query.filter(User.name != None)

and查询:

from sqlalchemy import and_

query.filter(and_(User.name == 'ed', User.fullname == 'Ed Jones'))

# or send multiple expressions to .filter()
query.filter(User.name == 'ed', User.fullname == 'Ed Jones')

or查询:

from sqlalchemy import or_
query.filter(or_(User.name == 'ed', User.name == 'wendy'))

match查询

query.filter(User.name.match('wendy'))

order_by语句:

query = session.query(User).filter(User.name.like('%ed')).order_by(User.id)

count计数

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

分页查询

session.query(Channel).filter(and_(
                filter_list
            )).order_by(desc(Channel.updateTime)).slice(offset, limit)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值