美文网首页
python_flask数据库操作

python_flask数据库操作

作者: Four__years | 来源:发表于2018-07-06 11:18 被阅读0次
    1.增加数据(就相当于增加一个实例对象)
     
    user1 = User(name='long',email='wertyui@qq.com',password='3456789',role_id=1)
     
    db.session.add(user1)
     
    db.session.commit()
     
    2.修改数据
     
    修改用户表里面的name为long的姓名为:fang
     
    首先查询到名为long的这个用户
     
    user1 = User.query.filter_by(name='long').first()
     
    赋值/修改
     
    user1.name = 'fang'
     
    提交
     
    db.session.commit()
     
    3.先查询删除
     
    user1 = User.query.filter_by(name='fang').first()
     
    db.session.delete(user1)
     
    db.session.commit()
     
     
    4.查询
     
    1.查询所有用户数据
     
    User.query.all()
     
    2.查询有多少个用户
     
    User.query.count()
     
    3.查询第1个用户
     
    User.query.first()
     
    4.查询id为4的用户[3种方式]
     
    (1)User.query.get(4)
     
    (2)User.query.filter_by(id=4).first()
     
    (3)User.query.filter(User.id==4).first()
     
    5.查询名字结尾字符为g的所有数据[开始/包含]
     
    User.query.filter(User.name.endswith('g')).all()  --[User:wang, User:zhang, User:tang]
     
    包含:
     
    User.query.filter(User.name.contains('g')).all()  --[<User 1>, <User 2>, <User 5>]
     
    获取第二个对象的名字:
     
    list = User.query.filter(User.name.contains('g')).all()
     
    list[1].name
     
    6.查询名字不等于wang的所有数据[2种方式]
     
    (1)!=: User.query.filter(User.name!='wang').all()
     
    (2)not:User.query.filter(not(User.name=='wang')).all()
     
    7.查询名字和邮箱都以 li 开头的所有数据[2种方式]
     
    (1)and: User.query.filter(and(User.name.startswith('li'),User.email.startswith('li'))).all()
     
    (2)不需要and_:User.query.filter(User.name.startswith('li'),User.email.startswith('li')).all()
     
     
     
    8.查询password是 123456 或者 email 以 itheima.com 结尾的所有数据
     
    User.query.filter(or_(User.password=='123456',User.email.endswith('itheima.com'))).all()
     
    9.查询id为 [1, 3, 5, 7, 9] 的用户列表
     
     User.query.filter(User.id.in_([1,3,5,7,9])).all()
     
    10.查询name为liu的角色数据(重要)
     
    User.query.filter(User.name=='liu').first().role.name
     
    11.查询所有用户数据,并以邮箱排序
     
    User.query.order_by('email').all()
     
    12.每页3个,查询第2页的数据
     
    User.query.paginate(2,3,False).items  查询数据
     
    User.query.paginate(2,3,False).page  ---当前页
     
    User.query.paginate(2,3,False).pages ---总页数
    

    相关文章

      网友评论

          本文标题:python_flask数据库操作

          本文链接:https://www.haomeiwen.com/subject/yruvuftx.html