使用ORM新增數(shù)據(jù)在Mysql中的操作步驟
【前言】
想要使用ORM在數(shù)據(jù)庫中進行操作數(shù)據(jù),前提是已經(jīng)新建了ORM模型 ;就是我們之前已經(jīng)搭建的模型http://www.dhdzp.com/article/218036.htm
【ORM操作步驟】
- 構(gòu)造ORM模型對象
- 添加到session
- 提交到數(shù)據(jù)庫
- 出現(xiàn)異常,回滾事務(可選)
【構(gòu)造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的作用】
- 建立與數(shù)據(jù)庫之間的會話
- 使用session對數(shù)據(jù)庫中的數(shù)據(jù)進行增刪改查
- 使用session進行事務控制(提交和回滾)
- 使用完后需要關閉它 session.close()
【session的創(chuàng)建】
有兩種方法,下圖代碼示例
# 方法一 實例化session
from sqlalchemy.orm import Session
with Session(engine) as session:
session.add(User())
session.commit()
# 方法二 使用工廠函數(shù)創(chuàng)建
from sqlalchemy.orm import sessionmaker
Session = sessionmaker(engine)
with Session.begin() as session:
session.add(User())
【數(shù)據(jù)提交到數(shù)據(jù)庫】
with Session(engine) as session:
session.add(user_obj)
session.add_all([user1,user1,user1])
session.commit()
【出現(xiàn)異常,回滾事務】
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) 物理刪除數(shù)據(jù)
3. get(entity,idnet,*args) 根據(jù)主鍵返回滿足條件的ORM對象/None
4. query(*entities,**kwargs)
使用ORM查詢,返回Query對象
到此這篇關于使用ORM新增數(shù)據(jù)在Mysql中的文章就介紹到這了,更多相關ORM mysql數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
MySQL根據(jù)某一個或者多個字段查找重復數(shù)據(jù)的sql語句
這篇文章主要介紹了MySQL根據(jù)某一個或者多個字段查找重復數(shù)據(jù)的sql語句,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2018-12-12
數(shù)據(jù)庫設計工具MySQL?Workbench使用教程(超級詳細!)
MySQL?Workbench為數(shù)據(jù)庫管理員、程序開發(fā)者和系統(tǒng)規(guī)劃師提供可視化的Sql開發(fā)、數(shù)據(jù)庫建模、以及數(shù)據(jù)庫管理功能,下面這篇文章主要給大家介紹了關于MySQL設計工具Workbench使用的相關資料,需要的朋友可以參考下2023-02-02
mysql臨時表(temporary?table)使用方法詳解
MySQL臨時表在很多場景中都會用到,MySQL內(nèi)部在執(zhí)行復雜SQL時,需要借助臨時表進行分組、排序、去重等操作,下面這篇文章主要給大家介紹了關于mysql臨時表(temporary?table)使用方法的相關資料,需要的朋友可以參考下2024-01-01
最新Navicat?15?for?MySQL破解+教程?正確破解步驟
Navicat?for?MySQL是一個針對MySQL數(shù)據(jù)庫而開發(fā)的第三方mysql管理工具,該軟件可以用于?MySQL?數(shù)據(jù)庫服務器版本?3.21?或以上的和?MariaDB?5.1?或以上,這篇文章主要介紹了最新Navicat?15?for?MySQL破解+教程?正確破解步驟,需要的朋友可以參考下2023-04-04
Windows10下mysql 8.0.19 安裝配置方法圖文教程
這篇文章主要為大家詳細介紹了Windows10下mysql 8.0.19 安裝配置方法圖文教程,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-02-02

