分享

flask-SQLAlchemy数据查询 常用命令

 花心的程序员 2020-03-11

查询所有用户数据  User.query.all()

查询有多少个用户 User.query.count()

查询第1个用户

User.query.first()

User.query.get(1)

# 根据id查询 查询id为4的用户[3种方式]

User.query.get(4)

User.query.filter_by(id=4).all() # 简单查询 使用关键字实参的形式来设置字段名

User.query.filter(User.id == 4).all() # 复杂查询 使用恒等式等其他形式来设置条件 查询名字

结尾字符为g的所有用户[开始 / 包含]

User.query.filter(User.name.endswith("g")).all()

User.query.filter(User.name.startswith("w")).all()

User.query.filter(User.name.contains("n")).all()

User.query.filter(User.name.like("%n%g")).all() 模糊查询

查询名字和邮箱都以li开头的所有用户[2种方式]

User.query.filter( User.name.startswith("li"), User.email.startswith("li") ).all()

from sqlalchemy import and_

User.query.filter( and_(User.name.startswith("li"), User.email.startswith("li")) ).all()

查询age是25 或者 `email`以`itheima.com`结尾的所有用户

from sqlalchemy import or_

User.query.filter(or_(User.age == 25, User.email.endswith("itheima.com"))).all()

查询名字不等于wang的所有用户[2种方式]

from sqlalchemy import not_

User.query.filter(not_(User.name == "wang")).all()

User.query.filter(User.name != "wang").all()

查询id为[1, 3, 5, 7, 9]的用户

User.query.filter( User.id.in_([1, 3, 5, 7, 9]) ).all()

所有用户先按年龄从小到大, 再按id从大到小排序, 取前5个

User.query.order_by( User.age, User.id.desc() ).limit(5).all()

分页查询, 每页3个, 查询第2页的数据

pn = User.query.paginate(2, 3)

pn.items 获取该页的数据, pn.page 获取当前的页码, pn.pages 获取总页数

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多