【发布时间】:2014-04-28 22:47:29
【问题描述】:
我正在使用 python 3 和 psycopg2 连接到 postgresql 表。
表格有两列:第一列是一些变化的字符串,第二列是一个空字符串。
我想遍历所有行和每一行,读取第一列中的字符串,在其上计算一些 python 实现的函数,并用该结果更新第二列。
什么是最有效的(希望是惯用的)方法?
请假设我必须从 python 连接到数据库。
【问题讨论】:
-
我正处于设计阶段。只是想要建议采取的方法
-
设计建议 - 如果可能的话,无论计算是什么,都在 SQL 中而不是在 python 中进行。如果您可以在 SQL 中进行计算,那么您可以在一个 UPDATE 语句中完成所有操作。如果您必须在 python 中执行此操作,那么您的设计必须是查询所有行,并随时发布更新。
-
如所强调的,我不能在 sql 中做到这一点,需要从 python 中做到这一点
-
@eyaler:你的问题并没有强调——甚至说——你不能在 SQL 中做到这一点。
-
@eyaler 请问为什么你不能用 SQL 而不是 Python 来做呢?您可能会对可能发生的事情感到惊讶。此外,PostgreSQL 允许您拨打Python functions from SQL,这也可能是您的一个选择;它被称为plpython。
标签: python postgresql