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

1.增加数据(就相当于增加一个实例对象)

user1 = User(name='long',email='[email protected]',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 ---总页数

猜你喜欢

转载自blog.csdn.net/longting_/article/details/80658105