flask中数据库的基本操作-增删改查

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 ---总页数

  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值