Sqlalchemy 简明教程

SQLAlchemy ORM - Creating Session

为了与数据库进行交互,我们需要获得其句柄。会话对象是数据库的句柄。使用 sessionmaker() 定义会话类 - 一个可配置的会话工厂方法,它绑定到前面创建的引擎对象。

In order to interact with the database, we need to obtain its handle. A session object is the handle to database. Session class is defined using sessionmaker() – a configurable session factory method which is bound to the engine object created earlier.

from sqlalchemy.orm import sessionmaker
Session = sessionmaker(bind = engine)

然后使用其默认构造函数设置会话对象,如下所示 −

The session object is then set up using its default constructor as follows −

session = Session()

下面列出会话类的一些经常需要的方法 −

Some of the frequently required methods of session class are listed below −

Sr.No.

Method & Description

1

begin() begins a transaction on this session

2

add() places an object in the session. Its state is persisted in the database on next flush operation

3

add_all() adds a collection of objects to the session

4

commit() flushes all items and any transaction in progress

5

delete() marks a transaction as deleted

6

execute() executes a SQL expression

7

expire() marks attributes of an instance as out of date

8

flush() flushes all object changes to the database

9

invalidate() closes the session using connection invalidation

10

rollback() rolls back the current transaction in progress

11

close() Closes current session by clearing all items and ending any transaction in progress