Функция create_engine
Функция create_engine создает объект
движка для работы с базой данных. Первым
параметром функция принимает строку URL
подключения. Движок управляет пулом соединений
и диалектом СУБД. Вторым необязательным
параметром echo можно включить вывод
SQL-запросов в консоль.
Синтаксис
create_engine(url, [echo])
Пример
Давайте создадим движок для базы SQLite
в памяти:
from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:')
print(engine)
Результат выполнения кода:
Engine(sqlite:///:memory:)
Пример
Давайте включим вывод SQL-запросов параметром echo:
from sqlalchemy import create_engine, text
engine = create_engine('sqlite:///:memory:', echo=True)
with engine.connect() as conn:
conn.execute(text('SELECT 1'))
Итоговый SQL запрос:
SELECT 1
Пример
Давайте создадим движок и проверим его диалект и драйвер:
from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:')
print(engine.dialect.name)
print(engine.dialect.driver)
Результат выполнения кода:
sqlite
pysqlite
Пример
Давайте создадим движок и выполним запрос
к таблице articles:
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 VALUES (1, 'article')"))
res = conn.execute(text('SELECT title FROM articles'))
print(res.fetchall())
Результат выполнения кода:
[('article',)]
Смотрите также
-
функцию
engine_from_config,
которая создает движок из словаря настроек -
функцию
make_url,
которая разбирает строку URL подключения -
функцию
create_pool_from_url,
которая создает пул соединений из URL -
класс
QueuePool,
который представляет пул соединений по умолчанию