Как вставить данные в таблицу с помощью Sqlalchemy ORM?

Я пытаюсь скопировать данные из одной таблицы в другую таблицу. Обычно с помощью команды SELECT мы можем прочитать всю таблицу, а с помощью команды INSERT мы можем вставить данные в другую таблицу. Но я не хочу использовать необработанную команду SQL, я хочу использовать SQLAlchemy ORM для копирования и вставки. Есть ли способ сделать это?


person DANISH REZA    schedule 10.04.2021    source источник


Ответы (1)


Вы просто пытаетесь добавить запись в базу данных или пытаетесь дублировать запись?

Добавление будет сделано, просто выполнив:

ed_user = User(name='ed', fullname='Ed Jones', nickname='edsnickname')
session.add(ed_user)
session.commit()

Пример взят из официальной документации. Коммит фактически запишет данные, добавленные в сеанс, в базу данных.

РЕДАКТИРОВАТЬ: вам нужно будет написать что-то, что разбирает файл на объекты и добавляет эти объекты в базу данных. В зависимости от типа файла, если это экспорт базы данных, вы можете просто импортировать его с помощью предпочитаемого вами инструмента базы данных. Вы можете взглянуть на это запись в блоге. Суть в том, что если вы хотите импортировать из csv/excel/txt, вам придется что-то для этого написать.

person T. Kelher    schedule 11.04.2021
comment
Это работает только тогда, когда у вас есть данные для вставки вручную. Но что, если я хочу вставить данные для чтения файла? - person DANISH REZA; 13.04.2021
comment
посмотри сделанную мной правку - person T. Kelher; 14.04.2021