Python3-sqlalchemy-orm 回滚
Posted 裸奔的小鸵鸟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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() #现在才统一提交,创新数据
以上是关于Python3-sqlalchemy-orm 回滚的主要内容,如果未能解决你的问题,请参考以下文章