Метод connect класса Engine
Метод connect класса Engine открывает
соединение с базой данных и возвращает объект
Connection. Метод принимает необязательные
параметры, среди которых execution_options
для настройки режима выполнения запросов. Соединение
можно использовать как контекстный менеджер, что
гарантирует его автоматическое закрытие.
Синтаксис
engine.connect()
Пример
Давайте откроем соединение с базой SQLite
в памяти и выполним простой запрос:
from sqlalchemy import create_engine, text
engine = create_engine('sqlite:///:memory:')
with engine.connect() as conn:
res = conn.execute(text('SELECT 1'))
print(res.scalar())
Результат выполнения кода:
1
Пример
Давайте создадим таблицу и вставим в неё строку через соединение:
from sqlalchemy import create_engine, text
engine = create_engine('sqlite:///:memory:')
with engine.connect() as conn:
conn.execute(text('CREATE TABLE articles (id INTEGER, title TEXT)'))
conn.execute(
text('INSERT INTO articles (id, title) VALUES (:id, :title)'),
{'id': 1, 'title': 'article'}
)
conn.commit()
res = conn.execute(text('SELECT title FROM articles'))
print(res.fetchall())
Результат выполнения кода:
[('article',)]
Пример
Давайте передадим параметр execution_options
при открытии соединения:
from sqlalchemy import create_engine, text
engine = create_engine('sqlite:///:memory:')
with engine.connect().execution_options(stream_results=True) as conn:
res = conn.execute(text('SELECT 1'))
print(res.scalar())
Результат выполнения кода:
1