问题:sqlalchemy中的like用法
方法:
name= "haha";
users = session.query(User).filter(User.name.like(name+"%")).all()
分类 "MySQL" 下的文章
问题:使用sqlalchemy如何用or过滤条件
方法:
user = self.db.query(User).filter(or_(User.id=3, User.school=12)).all()
这样就可以过滤出用户id为3或者学校id为12的所用用户信息了
问题:使用sqlalchemy需要实现分页
解决:使用limit和offset结合的方法
方法:
user = self.db.query(User).filter(User.age==12).offset(2).limit(10).all()
获得数据的条数
count = self.db.query(User).filter(User.age==12).count()
查询速度更快的方法
count = self.db.query(func.count('1')).select_from(User).filter(User.age==12).scalar()
注:sqlalchemy不能写成limit(2,10)
问题:在sqlalchemy中需要根据if条件语句分开写查询语句filter,如何分开写filter实现多次拼接呢
解决:亲自实践
方法:
user = self.db.query(User.id,User.username,User.fullname).filter_by(org_id=99877, type=4).all()
这语句可以写成下面的
user = self.db.query(User.id,User.username,User.fullname).filter_by(org_id=99877).filter_by( type=4).all()
上面的是连着写的,下面是分开的
user = self.db.query(User.id,User.username,User.fullname).filter_by(org_id=99877)
user = user.filter_by(type=4)
user = user.all()
获取2天前的
DATE_SUB(NOW(),INTERVAL 2 DAY)
2天后
DATE_ADD(OrderDate,INTERVAL 2 DAY)
参考:http://www.w3school.com.cn/sql/func_date_sub.asp
注:只为个人参考用,详情请看W3school