知乎专栏 |
打印SQL
query = session.query(PictureLike).filter( PictureLike.android_id == android_id, PictureLike.picture_id == picture_id, ) print(f"SQL: {query}")
所有数据
results = session.query(Player).all() for result in results: print(f"查询结果为: {result}")
第一条数据
first = session.query(Player).first() print(first)
LIKE
query_result = session.query(Player).filter(Player.name.like("%sa%"))
与操作符 and
query_result = session.query.filter(and_(Player.name == 'Salah', Player.id > 1)) # 单个filter()中设置多个表达式 query_result = session.query.filter(Player.name == 'Salah', Player.id > 1) # 使用多个filter() query_result = session.query.filter(Player.name == 'Salah').filter(Player.id > 1)
或操作符 or
from sqlalchemy import or_ results = session.query.filter(or_(Player.name == 'Salah', Player.id > 1))
IN 包含
query_result = session.query.filter(Player.club.in_(["Liverpool", "Chelsea"]))
NOT IN 排除
query_result = session.query.filter(~Player.country.in_(["Eygpt", "China"]))
slice 切片操作,返回 list
slice(起始值,结束值) results = session.query(Arctire).slice(90,100).all() print(results) 我们也可以使用如下方法,获得同样的结果。 results = session.query(Arctire)[90:100]
其他操作
avg:求平均值。 max:求最大值。 min:求最小值。 sum:求和。