各位用户为了找寻关于使用ORM新增数据在Mysql中的操作步骤的资料费劲了很多周折。这里教程网为您整理了关于使用ORM新增数据在Mysql中的操作步骤的相关资料,仅供查阅,以下为您介绍关于使用ORM新增数据在Mysql中的操作步骤的详细内容
【前言】
想要使用ORM在数据库中进行操作数据,前提是已经新建了ORM模型 ;就是我们之前已经搭建的模型http://www.zzvips.com/article/188491.html
【ORM操作步骤】
构造ORM模型对象 添加到session 提交到数据库 出现异常,回滚事务(可选)【构造ORM模型对象】
? 1 2 3 4 5 6user_obj =
User
(
username=
"use1"
,
password
=
"123456"
,
real_name =
"用户1"
,
age=12
)
【添加到session】
? 1 2 3 4 5# 添加1个对象
session.
add
(user_obj)
# 添加多个对象
session.add_all([user1,user2,user3])
【session的作用】
建立与数据库之间的会话 使用session对数据库中的数据进行增删改查 使用session进行事务控制(提交和回滚) 使用完后需要关闭它 session.close()【session的创建】
有两种方法,下图代码示例
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14# 方法一 实例化session
from
sqlalchemy.orm import Session
with
Session(engine)
as
session:
session.
add
(
User
())
session.
commit
()
# 方法二 使用工厂函数创建
from
sqlalchemy.orm import sessionmaker
Session = sessionmaker(engine)
with
Session.
begin
()
as
session:
session.
add
(
User
())
【数据提交到数据库】
? 1 2 3 4with
Session(engine)
as
session:
session.
add
(user_obj)
session.add_all([user1,user1,user1])
session.
commit
()
【出现异常,回滚事务】
? 1 2 3 4 5 6 7 8 9 10with
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) 执行SQL查询
2. delete(instance) 物理删除数据
3. get(entity,idnet,*args) 根据主键返回满足条件的ORM对象/None
4. query(*entities,**kwargs)
使用ORM查询,返回Query对象
到此这篇关于使用ORM新增数据在Mysql中的文章就介绍到这了,更多相关ORM mysql数据库内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
原文链接:https://www.cnblogs.com/xinhua19/p/15054956.html