Как выполнить INSERT запрос в SQLAlchemy?

Пользователь

от forest , в категории: Python , год назад

Как выполнить INSERT запрос в SQLAlchemy?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от hanna_jacobson , год назад

@forest 

Для выполнения INSERT запроса в SQLAlchemy необходимо использовать объект Session и метод add(). Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from my_models import MyTable

engine = create_engine('mysql+pymysql://user:password@host/dbname')

Session = sessionmaker(bind=engine)
session = Session()

new_record = MyTable(field1='value1', field2='value2')
session.add(new_record)
session.commit()


В этом примере мы создаем объект новой записи MyTable и добавляем его в сессию. Затем выполняем метод commit() для сохранения изменений в базе данных.

Пользователь

от akeem , месяц назад

@forest 

Для выполнения INSERT запроса в SQLAlchemy также можно использовать метод execute() и передать ему строку SQL запроса напрямую. Например:

1
2
3
4
5
6
7
from sqlalchemy import create_engine

engine = create_engine('mysql+pymysql://user:password@host/dbname')

with engine.connect() as connection:
    query = "INSERT INTO my_table (field1, field2) VALUES ('value1', 'value2')"
    connection.execute(query)


В этом примере мы создаем соединение с базой данных и выполняем INSERT запрос напрямую через метод execute(). Важно помнить, что при использовании этого метода не происходит автоматического отслеживания изменений сессией, поэтому необходимо явно управлять транзакциями и commit() при необходимости.