好了,在前面,我们大概了解了SQLAlchemy的使用,日常,我们可能经常会使用些复杂点儿的查询,我们先练习下
#1. common filter
这里,官方都有介绍,我们主要参考这里:http://docs.sqlalchemy.org/en/rel_1_1/orm/tutorial.html
里面讲的都很清楚,我们这里简单练习下
首先是基本的脚本,后面,我们直接写query
数据库表:
|
|
我们一般的过滤的话,要使用filter这个函数
常用的SQL中,我们还有and,or
我们需要引入其他类
from sqlalchemy import or_, andprint ‘—-:or’for book in session.query(Book).filter(or(Book.name.like(‘白%’),Book.id == 191)):print bookprint ‘—-:and’for book in session.query(Book).filter(and_(Book.name.like(‘白%’),Book.id == 191)):print book
2. 自定义SQL
这里,我们使用text,来自定义自己的sql
在SQL中,我们经常会使用参数传递,这里也是可以的
到这里,自定义SQL貌似还不够灵活,不能像在数据库中随便写SQL那样,下面,我们再试试另一种方式
这下,我们就可以随便写我们的SQL了,
3.聚合函数
我们先看看count