ORM的增刪改查
引入:所有的和數(shù)據(jù)庫(kù)有關(guān)的ORM操作都是通過(guò)session會(huì)話對(duì)象實(shí)現(xiàn)的,通過(guò)以下代碼獲取會(huì)話對(duì)象(session):
from sqlalchemy.orm import sessionmaker
#engine傳進(jìn)去
Session = sessionmaker(engine)
session = Session()
#或者另一種寫(xiě)法:
session = sessionmaker(engine)()
接下來(lái)就可以通過(guò)這個(gè)會(huì)話對(duì)象來(lái)操作數(shù)據(jù)庫(kù)了
-
增:
-
創(chuàng)建一個(gè)對(duì)象,即創(chuàng)建一條數(shù)據(jù)。
user = User(username='xiaodong',password='6058') 將這個(gè)對(duì)象添加到會(huì)話對(duì)象中:
session.add(user)- 將之前的所有操作,做事務(wù)提交:
session.commit() -
-
查:
-
通過(guò)
session.query對(duì)象進(jìn)行查找:# 查找table所有數(shù)據(jù) session.query(User).all() # 查找User這張表中的第一條數(shù)據(jù) session.query(User).first() # 通過(guò)username=xiaodong來(lái)進(jìn)行過(guò)濾查找 session.query(User).filter_by(username='xiaodong') # 通過(guò)get方法,用主鍵查找對(duì)象 session.query(User).get(primary_key)
-
-
改:
-
從數(shù)據(jù)庫(kù)查找數(shù)據(jù):
session.query(User).filter_by(username='xiaodong').first() -
修改成需要的數(shù)據(jù):
user.username = 'xiaodong' -
做事務(wù)的提交操作:
session.commit()
-

python
- 刪:
-
從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù):
user = session.query(User).first() -
使用
session.delete方法進(jìn)行刪除:session.delete(user) -
做事務(wù)的提交操作:
session.commit()
-