欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用ORM新增数据在Mysql中的操作步骤

程序员文章站 2022-06-16 12:33:47
【前言】想要使用orm在数据库中进行操作数据,前提是已经新建了orm模型 ;就是我们之前已经搭建的模型【orm操作步骤】 构造orm模型对象 添加到session 提交到数据库...

【前言】

想要使用orm在数据库中进行操作数据,前提是已经新建了orm模型 ;就是我们之前已经搭建的模型

【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的创建】

有两种方法,下图代码示例

# 方法一 实例化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())

【数据提交到数据库】

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) 执行sql查询

2. delete(instance) 物理删除数据

3. get(entity,idnet,*args) 根据主键返回满足条件的orm对象/none

4. query(*entities,**kwargs)

使用orm查询,返回query对象

到此这篇关于使用orm新增数据在mysql中的文章就介绍到这了,更多相关orm mysql数据库内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!