安裝flask-sqlalchemy
pip install sqlalchemy
db = sqlalchemy()
增加學生資訊
db.session.add(stu)
sb.session.commit()
批量增加學生資訊
db.session.add_all(stus)
db.session.commit()
db.session.delete(stu)
db.session.commit()
db.session.add(stu) : 更新內容可以不寫
db.session.commit()
三種查詢主鍵的方式:
student.query.filter(student.id == 1).first()
stu = student.query.filter_by(id=1).first()
stu = student.query.get(1)
查詢第乙個物件:
stu1 = student.query.all()[0]
stu2 = student.query.first()
order_by('-id') :表示安裝id的降序排資料
order_by('id') :表示安裝id的公升序排資料
方法1(切片):
stus = student.query.all()[:4]
方法2:
offset(m).limit(n):表示跳過m個引數,擷取n個引數
gt ge lt le : 大於 大於等於 小於 小於等於
stus = student.query.filter(student.s_age.__gt__(30)).all()
第二種(直接使用》 < >= <= ):
stus = student.query.filter(student.s_age > 30).all()
包含查詢:
stus = student.query.filter(student.s_name.contains('d')).all()
以什麼開頭:
stus = student.query.filter(student.s_name.startswith('p')).all()
以什麼結尾:
stus = student.query.filter(student.s_name.endswith('e')).all()
模糊查詢('_' 匹配一位,'%' 匹配任意長度的資料):
stus = student.query.filter(student.s_name.like('__a%')).all()
且:
1.鏈式結構查詢:
stus = student.query.filter(student.s_name.contains('e')).filter(student.s_age > 35).all()
2._and方法或者,號隔開
stus = student.query.filter(and_(student.s_name.contains('e'), student.s_age > 35)).all()
stus = student.query.filter(student.s_name.contains('e'), student.s_age > 35).all()
或: or_方法:
stus = student.query.filter(or_(student.s_name.contains('e'), student.s_age > 35)).all()
非: not_方法:
stus = student.query.filter( not_(student.s_name.contains('e') )).all()
第一種方法(切片):
第二種方法(limit offset):
第三種方法(paginate):
page:當前頁碼 pages:總頁數
迴圈取頁碼 iter_pages()
flask資料庫模型
web程式中使用資料庫儲存資料,在檢視函式中運算元據庫。如果在檢視函式中編寫sql語句,則 顯得太混亂,所以開發者 將資料庫中的table對映成python類,將column對映成類的屬性,row對映成類的例項,所以就可以通過操作python類物件實現對資料庫的操作。table在對映為類,所以建表就...
flask連線資料庫的增刪改查
flask日常步驟省略 增1 建立資料庫物件34 建立資料庫類,用來對映資料庫表,將資料庫的模型作為引數傳入 5class user db.model 6 宣告表名 7 tablename user 8 建立字段函式 9 id db.column db.integer,primary key tru...
flask中資料庫的基本操作 增刪改查
1.增加資料 就相當於增加乙個例項物件 user1 user name long email wertyui qq.com password 3456789 role id 1 db.session.add user1 db.session.commit 2.修改資料 修改使用者表裡面的name為l...