1. #-*-coding:utf-8-*-
  2. #__author__ = "logan.xu"
  3.  
  4. import sqlalchemy
  5. from sqlalchemy import create_engine
  6. from sqlalchemy.ext.declarative import declarative_base
  7. from sqlalchemy import Column,Integer,String
  8. from sqlalchemy.orm import sessionmaker
  9.  
  10. engine=create_engine("mysql+pymysql://root:12345678@localhost/news",encoding='utf-8',echo=True)
  11. Base=declarative_base()
  12.  
  13. class User(Base):
  14. __tablename__='user'
  15. id=Column(Integer,primary_key=True)
  16. name=Column(String(32))
  17. password=Column(String(64))
  18.  
  19. def __repr__(self):
  20. return "<%s name:%s>" %(self.id,self.name)
  21.  
  22. Base.metadata.create_all(engine) #创建表结构
  23.  
  24. Session_class=sessionmaker(bind=engine)
  25. #创建与数据库的会话session class,注意,这里返回给session的是这个class,不是实例
  26. Session=Session_class() #生成session实例
  27.  
  28. #查询
  29. #data=Session.query(User).filter(User.id>2).all() #filter可以写大于,filter_by不可用写大于
  30. #data=Session.query(User).filter(User.id>1).filter(User.id<3).all() #列取多个条件查询
  31. #data=Session.query(User).filter_by(id=2).all()
  32. #data=Session.query(User).filter(User.id==2).all()
  33. #data=Session.query(User).filter_by().first() #列出一个
  34. #print(data)
  35.  
  36. #修改
  37. #data=Session.query(User).filter(User.id>1).filter(User.id<4).first()
  38. #print(data)
  39. #data.name="Jack Liu"
  40. #data.passwod="Shit happens"
  41.  
  42. #回滚
  43. fake_user=User(name='Rain',password='12345')
  44. Session.add(fake_user)
  45. print(Session.query(User).filter(User.name.in_(['Jack','rain'])).all())
  46.  
  47. Session.rollback() #此时你rollback一下
  48. print("after rollback")
  49.  
  50. print(Session.query(User).filter(User.name.in_(['Jack','rain'])).all())
  51. Session.commit() #现在才统一提交,创新数据

Python3-sqlalchemy-orm 回滚的更多相关文章

  1. Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍

    1. 添加一个新对象 前面介绍了映射到实体表的映射类User,如果我们想将其持久化(Persist),那么就需要将这个由User类建立的对象实例添加到我们先前创建的Session会话实例中: 复制代码 ...

  2. MySQL 存储引擎、锁、调优、失误与事务回滚、与python交互、orm

    1.存储引擎(处理表的处理器) 1.基本操作 1.查看所有存储引擎 mysql> show engines; 2.查看已有表的存储引擎 mysql> show create table 表 ...

  3. orm 语法 数据库连接、建表、增删改查、回滚、单键关联 、多键关联、三表关联

    1.数据库连接, #!usr/bin/env/python # -*- coding:utf-8 -*- # from wangteng import sqlalchemy from sqlalche ...

  4. Python3+SQLAlchemy+Sqlite3实现ORM教程

    一.安装 Sqlite3是Python3标准库不需要另外安装,只需要安装SQLAlchemy即可.本文sqlalchemy版本为1.2.12 pip install sqlalchemy 二.ORM操 ...

  5. Python-12-MySQL & sqlalchemy ORM

    MySQL MySQL相关文章这里不在赘述,想了解的点击下面的链接: >> MySQL安装 >> 数据库介绍 && MySQL基本使用 >> MyS ...

  6. sqlalchemy ORM

    本节内容       ORM介绍     sqlalchemy安装     sqlalchemy基本使用     多外键关联     多对多关系   1. ORM介绍   orm英文全称object ...

  7. python 之路,Day11 (下)- sqlalchemy ORM

    python 之路,Day11 - sqlalchemy ORM   本节内容 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 1. ORM ...

  8. Python sqlalchemy orm 常用操作

    增add # 创建表1 # 注:高级封装 import sqlalchemy # 调用链接数据库 from sqlalchemy import create_engine # 调用基类Base fro ...

  9. sqlalchemy orm 操作 MySQL

    一.ORM介绍 orm英文全称object relational mapping,是对象映射关系程序,简单来说类似python这种面向对象的程序来说一切皆对象,但是我们使用的数据库却都是关系型的,为了 ...

  10. Python 9 sqlalchemy ORM

    一.ORM介绍: orm英文全称object relational mapping,就是对象映射关系程序,简单来说我们类似python这种面向对象的程序来说一切皆对象,但是我们使用的数据库却都是关系型 ...

随机推荐

  1. Webstorm 快速补全

    el-row>el-col*3>[:span='7'] 按Tab <el-row> <el-col> <div :span="">& ...

  2. Bootstrap 树形列表与右键菜单

    Bootstrap 树形列表与右键菜单 介绍两个Bootstrap的扩展 Bootstrap Tree View 树形列表 jQuery contextMenu 右键菜单 Demo采用CDN分发,直接 ...

  3. 学会这十招,轻松搜索github优质项目

    大家好,我是青空. 今天我想给大家分享一下使用 GitHub 的一些心得体会.之前我是在分享 GitHub上的一些开源项目,通过这段时间的收集工作,我积累了一些相关的经验在这里分享给大家. 我做了一个 ...

  4. Nexus Repository Manager 3 远程命令执行漏洞(CVE-2020-10199、CVE-2020-10204)

    [影响版本] Nexus Repository Manager OSS/Pro 3.x <= 3.21.1 poc地址 https://github.com/magicming200/CVE-2 ...

  5. sql注入之堆叠注入及waf绕过注入

    #堆叠查询注入 1.堆叠查询概念 stacked injections(堆叠查询注入)从名词的含义就可以看出一应该是一堆(多条)sql语句一起执行.而在真实运用中也是如此,我们知道在mysql中,主要 ...

  6. RHCSA_DAY08

    locate与find查找 locate:/var/lib/mlocate/mlocate.db getfacl 目录 chmod权限管理 chmod(英文全拼:change mode)设置用户对文件 ...

  7. 超详细Java基础-多态

    茫茫人海千千万万,感谢这一秒你看到这里.希望我的能对你的有所帮助!共勉! 愿你在未来的日子,保持热爱,奔赴山海! Java基础知识(多态) 多态 多态就是指程序中定义的引用变量所指向的具体类型和通过该 ...

  8. Fluid + GooseFS 助力云原生数据编排与加速快速落地

    前言 Fluid 作为基于 Kubernetes 开发的面向云原生存算分离场景下的数据调度和编排加速框架,已于近期完成了 v0.6.0 版本的正式发布.腾讯云容器 TKE 团队一直致力于参与 Flui ...

  9. git submodule 操作

    git submodule foreach git status 举一反三,对所有子库的操作,都可以使用 git submodule foreach 做前缀 foreach,可以记忆为for each ...

  10. MySQL-04-SQL简单介绍

    SQL介绍 SQL 结构化查询语言 5.7 以后符合SQL92严格模式 通过sql_mode参数来控制 常用SQL分类 DDL:数据定义语言 DCL:数据控制语言 DML:数据操作语言 DQL:数据的 ...