1.增加數據(就相當于增加一個實例對象)
?
user1 = User(name='long',email='1006550026@qq.com',password='123456',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 ---總頁數
————————————————
?