【问题标题】:How to update rows in SQL database using SQLAlchemy and pandas (simple way)如何使用 SQLAlchemy 和 pandas 更新 SQL 数据库中的行(简单方法)
【发布时间】:2019-06-17 05:27:29
【问题描述】:

是否可以使用 df.to_sql() 以仅替换调用它的 df 中可用的值,而无需像传递“if_exists=replace”时那样抓取整个表?

我在下面的示例中看到了包含复杂代码、会话生成器等的示例:

How to update SQLAlchemy row entry?

Updating specific row in SQLAlchemy

Updating row in 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>

并没有进行实际更新。

在 df 上使用 .to_sql() 只包含我想要更新的行删除现有表,创建新表,插入行。有没有一种优雅/有效的方式来更新正是我需要的? (通过更新我不是指删除、创建、插入)而是实际的 UPDATE SQL 等效项

【问题讨论】:

    标签: python-3.x pandas sqlalchemy


    【解决方案1】:

    sqlalchemy.sql.update 生成一个表示更新语句的对象而不执行它。

    要使用它,你必须运行Connection.execute()

    See the tutorial

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-19
      • 1970-01-01
      • 2014-03-12
      • 2010-11-04
      • 2017-08-14
      • 2017-04-08
      • 2012-11-29
      相关资源
      最近更新 更多