【前言】
想要使用ORM在數據庫中進行操作數據,前提是已經新建了ORM模型 ;就是我們之前已經搭建的模型https://www.jb51.net/article/218036.htm
【ORM操作步驟】
- 構造ORM模型對象
- 添加到session
- 提交到數據庫
- 出現異常,回滾事務(可選)
【構造ORM模型對象】
user_obj = User(
username="use1",
password="123456",
real_name = "用戶1",
age=12
)
【添加到session】
# 添加1個對象
session.add(user_obj)
# 添加多個對象
session.add_all([user1,user2,user3])
【session的作用】
- 建立與數據庫之間的會話
- 使用session對數據庫中的數據進行增刪改查
- 使用session進行事務控制(提交和回滾)
- 使用完后需要關閉它 session.close()
【session的創(chuàng)建】
有兩種方法,下圖代碼示例
# 方法一 實例化session
from sqlalchemy.orm import Session
with Session(engine) as session:
session.add(User())
session.commit()
# 方法二 使用工廠函數創(chuàng)建
from sqlalchemy.orm import sessionmaker
Session = sessionmaker(engine)
with Session.begin() as session:
session.add(User())
【數據提交到數據庫】
with Session(engine) as session:
session.add(user_obj)
session.add_all([user1,user1,user1])
session.commit()
【出現異常,回滾事務】
with Session(engine) as session:
session.begin()
try:
session.add(user1)
session.add(user2)
except:
session.rollback()
raise
else:
session.commit()
【Session對象中其他的常用方法】
1. excute(statement, params=None,*args) 執(zhí)行SQL查詢
2. delete(instance) 物理刪除數據
3. get(entity,idnet,*args) 根據主鍵返回滿足條件的ORM對象/None
4. query(*entities,**kwargs)
使用ORM查詢,返回Query對象
到此這篇關于使用ORM新增數據在Mysql中的文章就介紹到這了,更多相關ORM mysql數據庫內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- ORM模型框架操作mysql數據庫的方法
- gorm操作MySql數據庫的方法
- .net core利用orm如何操作mysql數據庫詳解
- PHP基于ORM方式操作MySQL數據庫實例
- mysql數據庫中的information_schema和mysql可以刪除嗎?
- 解析MySQL的information_schema數據庫