使用ORM新增数据在Mysql中

【前言】

想要使用ORM在数据库中进行操做数据,前提是已经新建了ORM模型 ;就是咱们以前已经搭建的模型https://www.cnblogs.com/xinhua19/p/15038353.htmlhtml

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

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

# 方法一 实例化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查询session

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

3. get(entity,idnet,*args)  根据主键返回知足条件的ORM对象/Nonespa

4. query(*entities,**kwargs)code

使用ORM查询,返回Query对象orm

相关文章
相关标签/搜索