一、关于事务的说明

用户与数据库的操作就是事务,而sqlalchemy中的事务用session来实现。

二、sqlalchemy中事务的session的定义

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

  1. 方式一
from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine

#连结或创建sqlite3
engine = create_engine('sqlite:///db_path.db',echo=True)
Session = sessionmaker(bind=engine)
#engine是数据库连结返回值
#使用时要实例化Session
  1. 方式二
from sqlalchemy.orm import Session
session = Session(engine)
#sqlalchemy.orm中就直接包含Session

三、session的其它事务

  1. 添加
from sqlalchemy.orm import Session
session = Session(engine)
#sqlalchemy.orm中就直接包含Session
session.add(表名的实例化)
session.commit()
#只能添加一条数据
session.add_all([表名的实例化列表])
session.commit()
  1. 多条数据添加、更新、删除
from sqlalchemy.orm import Session
session = Session(engine)
session.excute(
	insert(表名).values([数据列表,数据是字典])
	update(表名),[要更改对象字段的字典,注:必须有id]
	delete(表名).where(条件)
)

四、

更多推荐