<>order_by(排序)
需要导包 from sqlalchemy import desc,asc
<>desc 降序
db.session.query().order_by(desc()).all()
<>asc升序
db.session.query().order_by(desc()).all()
<>limit (限制)
db.session.query().limit().all()
<>group_by(分组)
db.session.query().group_by().all()
<>func(聚合函数)
需要导包 from sqlalchemy import account,max,min,avg
<>count() (个数)
db.session.query(func.acount()).all()
<>max() or min() (最大值or最小值)
db.session.query(func.max()).all() db.session.query(func.max()).all()
<>avg() or sum() (平均值or求和)
db.session.query(func.avg()).all()
<>lower() (转小写)
db.session.query().filter(func.lower() == '').all()
<>干货

<>cast() (强转)
db.session.query(func.cast('',Numeric(10))).all()
<>substr() (切割字符串,下标索引是从1开始)
db.session.query(func.substr('',start,length)).all()
<>返回结果集的第二项
user = session.query(User).get(2)
<>返回结果集中的第2-3项
users = session.query(User)[1:3]
<>查询条件
user = session.query(User).filter(User.id < 6).first()
<>只查询部分属性
users = session.query(User.name).order_by(desc(User.name)) for user in users:
print user.name
<>给结果集的列取别名
users = session.query(User.name.label('user_name')).all() for user in users:
print user.user_name
<>去重查询(需要导入distinct方法)
from sqlalchemy import distinct users =
session.query(distinct(User.name).label('name')).all()
<>统计查询
user_count = session.query(User.name).order_by(User.name).count() age_avg =
session.query(func.avg(User.age)).first() age_sum =
session.query(func.sum(User.age)).first()
<>label(’’) (别名)
users = session.query(func.count(User.name).label('count'),
User.age).group_by(User.age) for user in users: print 'age:{0},
count:{1}'.format(user.age, user.count)
<>exists查询(不存在则为~exists())
from sqlalchemy.sql import exists
session.query(User.name).filter(~exists().where(User.role_id == Role.id))
SELECT name AS users_name FROM users WHERE NOT EXISTS (SELECT * FROM roles
WHERE users.role_id = roles.id)
<>除了exists,any也可以表示EXISTS
session.query(Role).filter(Role.users.any())
<>random
from sqlalchemy.sql.functions import random user =
session.query(User).order_by(random()).all()

技术
今日推荐
下载桌面版
GitHub
百度网盘(提取码:draw)
Gitee
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:766591547
关注微信