
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 |