Как обновить строки в базе данных SQL, используя SQLAlchemy и pandas (простой способ) - PullRequest
0 голосов
/ 23 января 2019

Можно ли использовать df.to_sql () таким образом, чтобы он заменял только значения, доступные в df, который вызывается, без удаления всей таблицы, как это происходит, когда вы передаете 'if_exists = replace'?

IВы видели примеры с запутанным кодом, создателями сеансов и т. д., как в следующих примерах:

Как обновить запись строки SQLAlchemy?

Обновление определенной строки вSQLAlchemy

Обновление строки в SqlAlchemy ORM

, но она слишком запутанная.Следуя примеру на SQLAlchemy, я попытался:

https://docs.sqlalchemy.org/en/latest/core/dml.html#sqlalchemy.sql.expression.Update

from sqlalchemy.sql import update, table, column, select, text
update(table('tbl_plans')).where("portfolio_id_host=='TESTING'").values(portfolio_id_host='Tested')

, но все, что он выдает:

<sqlalchemy.sql.dml.Update object at 0x00000193C18F8630>

, и обновление не производится.

Использование .to_sql () на df только с строками, которые я хочу обновить, удаляет существующую таблицу, создает новую, вставляет строки.Есть ли элегантный / эффективный способ сделать обновление именно то, что мне нужно?(под обновлением я не имею в виду, удалять, создавать, вставлять), но фактический эквивалент SQL ОБНОВЛЕНИЯ

1 Ответ

0 голосов
/ 25 января 2019

sqlalchemy.sql.update генерирует объект, представляющий оператор обновления, без его выполнения.

Чтобы использовать его, вы должны запустить Connection.execute()

См. Учебник

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...