Класс Connection
Класс Connection представляет собой соединение
с базой данных. Объект соединения создается методом
connect у класса Engine и используется
для выполнения SQL-запросов через методы execute,
scalar, scalars, а также для управления
транзакциями методами commit, rollback
и begin. Класс поддерживает работу в контекстном
менеджере with, при выходе из которого соединение
автоматически закрывается.
Синтаксис
Connection(engine)
Пример
Давайте создадим соединение с базой SQLite
в памяти и выведем его на экран:
from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:')
conn = engine.connect()
print(conn)
conn.close()
Результат выполнения кода:
"<sqlalchemy.engine.base.Connection object at 0x...>"
Пример
Давайте выполним SQL-запрос через соединение
с помощью метода execute:
from sqlalchemy import create_engine, text
engine = create_engine('sqlite:///:memory:')
with engine.connect() as conn:
res = conn.execute(text('SELECT 1 AS num'))
for row in res:
print(row)
Результат выполнения кода:
(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 PRIMARY KEY, title TEXT)'))
conn.execute(text("INSERT INTO articles (title) VALUES ('article')"))
conn.commit()
res = conn.execute(text('SELECT title FROM articles'))
for row in res:
print(row)
Результат выполнения кода:
('article',)