zoukankan      html  css  js  c++  java
  • Python3-sqlalchemy-orm 回滚

    #-*-coding:utf-8-*-
    #__author__ = "logan.xu"
    
    
    import sqlalchemy
    from sqlalchemy import create_engine
    from sqlalchemy.ext.declarative import declarative_base
    from sqlalchemy import Column,Integer,String
    from sqlalchemy.orm import sessionmaker
    
    engine=create_engine("mysql+pymysql://root:12345678@localhost/news",encoding='utf-8',echo=True)
    Base=declarative_base()
    
    class User(Base):
        __tablename__='user'
        id=Column(Integer,primary_key=True)
        name=Column(String(32))
        password=Column(String(64))
    
        def __repr__(self):
            return "<%s name:%s>" %(self.id,self.name)
    
    Base.metadata.create_all(engine) #创建表结构
    
    Session_class=sessionmaker(bind=engine)
    #创建与数据库的会话session class,注意,这里返回给session的是这个class,不是实例
    Session=Session_class() #生成session实例
    
    #查询
    #data=Session.query(User).filter(User.id>2).all() #filter可以写大于,filter_by不可用写大于
      #data=Session.query(User).filter(User.id>1).filter(User.id<3).all() #列取多个条件查询
    #data=Session.query(User).filter_by(id=2).all()
    #data=Session.query(User).filter(User.id==2).all()
    #data=Session.query(User).filter_by().first() #列出一个
      #print(data)
    
    #修改
    #data=Session.query(User).filter(User.id>1).filter(User.id<4).first()
    #print(data)
    #data.name="Jack Liu"
    #data.passwod="Shit happens"
    
    #回滚
    fake_user=User(name='Rain',password='12345')
    Session.add(fake_user)
    print(Session.query(User).filter(User.name.in_(['Jack','rain'])).all())
    
    Session.rollback() #此时你rollback一下
    print("after rollback")
    
    print(Session.query(User).filter(User.name.in_(['Jack','rain'])).all())
    Session.commit() #现在才统一提交,创新数据

     

  • 相关阅读:
    .net 面试题之 输出 空 三角型
    js 里 用XML httpRequest 调用 Web Service
    C# 设计模式之 单例模式
    C#TreeView 实现无线级别分类
    asp.net Session的原理
    .Net 面试题之 查询两个时间差
    暑 假 队 测 Round #2
    两个排序算法的扩展应用
    暑 假 队 测 Round #1
    二维单调队列或st表
  • 原文地址:https://www.cnblogs.com/drizzle-xu/p/10238353.html
Copyright © 2011-2022 走看看