sqlalchemy关于session与事务利用及分析

打印 上一主题 下一主题

主题 996|帖子 996|积分 2988

一、关于事务的分析

用户与数据库的操纵就是事务,而sqlalchemy中的事务用session来实现。
二、sqlalchemy中事务的session的定义

session有两种定义方法,在定义以前都要与数据库连结。
利用时都要实例化Session

  • 方式一
  1. from sqlalchemy.orm import sessionmaker
  2. from sqlalchemy import create_engine
  3. #连结或创建sqlite3
  4. engine = create_engine('sqlite:///db_path.db',echo=True)
  5. Session = sessionmaker(bind=engine)
  6. #engine是数据库连结返回值
  7. #使用时要实例化Session
复制代码

  • 方式二
  1. from sqlalchemy.orm import Session
  2. session = Session(engine)
  3. #sqlalchemy.orm中就直接包含Session
复制代码
三、session的其它事务


  • 添加
  1. from sqlalchemy.orm import Session
  2. session = Session(engine)
  3. #sqlalchemy.orm中就直接包含Session
  4. session.add(表名的实例化)session.commit()#只能添加一条数据session.add_all([表名的实例化列表])session.commit()
复制代码

  • 多条数据添加、更新、删除
  1. from sqlalchemy.orm import Session
  2. session = Session(engine)
  3. session.excute(
  4.         insert(表名).values([数据列表,数据是字典])
  5.         update(表名),[要更改对象字段的字典,注:必须有id值]
  6.         delete(表名).where(条件)
  7. )
复制代码
四、


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

干翻全岛蛙蛙

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表