WHERE clause in SqlAlchemy
标签:
SQLAlchemy
在以前使用SQLObject的时候,就对复合查询特别头痛,在邮件列表里面才了解到要怎样才能得到排序、限制查询个数这样的操作。
SqlAlchemy也有这样的问题,只是SA的文档比SO要想尽很多,这里就介绍了WHERE语句在SA中的实现。
逻辑关系: or_()
, and_()
, not_()
, in_()
c = users.select(or_(users.c.user_name=='jack',
users.c.user_name=='ed')).execute()
c = users.select(and_(users.c.user_name=='jack',
users.c.password=='dog')).execute()
c = users.select(not_(
or_(users.c.user_name=='jack',
users.c.password=='dog')
)).execute()
c = users.select(users.c.user_name.in_(
'jack', 'ed', 'fred')).execute()
排序: order_by
c = users.select(order_by=
[asc(users.c.user_name)]).execute()
其中asc()
与desc()
可以指明排序的方式(升序/降序)
限制查询的项数: limit, offset, distintic
c = users.select(limit=10,
offset=20, distintic=True).execute()
没有评论:
发表评论