【前言】
想要使用ORM在数据库中进行操作数据,前提是已经新建了ORM模型 ;就是我们之前已经搭建的模型http://www.zzvips.com/article/188491.html
【ORM操作步骤】
- 构造ORM模型对象
- 添加到session
- 提交到数据库
- 出现异常,回滚事务(可选)
【构造ORM模型对象】
?
1 2 3 4 5 6 | user_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 4 | with 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 10 | 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数据库内容请搜索钦钦技术栈以前的文章或继续浏览下面的相关文章希望大家以后多多支持钦钦技术栈!
原文链接:https://www.cnblogs.com/xinhua19/p/15054956.html
版权声明:本文(即:原文链接:https://www.qin1qin.com/catagory/6318/)内容由互联网用户自发投稿贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 630367839@qq.com 举报,一经查实,本站将立刻删除。