• 售前

  • 售后

热门帖子
入门百科

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

[复制链接]
米老鼠和蓝精鼠v 显示全部楼层 发表于 2021-8-14 14:54:15 |阅读模式 打印 上一主题 下一主题
【前言】

想要使用ORM在数据库中举行操纵数据,条件是已经新建了ORM模型 ;就是我们之前已经搭建的模型https://www.jb51.net/article/218036.htm
【ORM操纵步调】

       
  • 构造ORM模型对象   
  • 添加到session   
  • 提交到数据库   
  • 出现非常,回滚事务(可选)
【构造ORM模型对象】
  1. user_obj = User(
  2. username="use1",
  3. password="123456",
  4. real_name = "用户1",
  5. age=12
  6. )
复制代码
【添加到session】
  1. #  添加1个对象
  2. session.add(user_obj)
  3. #  添加多个对象
  4. session.add_all([user1,user2,user3])
复制代码
【session的作用】

       
  • 建立与数据库之间的会话   
  • 使用session对数据库中的数据举行增删改查   
  • 使用session举行事务控制(提交和回滚)   
  • 使用完后必要关闭它  session.close()
【session的创建】

有两种方法,下图代码示例
  1. # 方法一 实例化session
  2. from sqlalchemy.orm import Session
  3. with Session(engine) as session:
  4.     session.add(User())
  5.     session.commit()
  6. #  方法二 使用工厂函数创建
  7. from sqlalchemy.orm import sessionmaker
  8. Session = sessionmaker(engine)
  9. with Session.begin()  as session:
  10.     session.add(User())
复制代码
【数据提交到数据库】
  1. with Session(engine) as  session:
  2.     session.add(user_obj)
  3.     session.add_all([user1,user1,user1])
  4.     session.commit()
复制代码
【出现非常,回滚事务】
  1. with Session(engine) as session:
  2.     session.begin()
  3.     try:
  4.         session.add(user1)
  5.         session.add(user2)
  6.     except:
  7.         session.rollback()
  8.         raise
  9.     else:
  10.         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数据库内容请搜刮草根技术分享从前的文章或继续欣赏下面的相关文章盼望各人以后多多支持草根技术分享!

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作