python - Python PostgreSQL psycopg2 将列连接到新列
问题描述
我可以使用以下代码连接两列:
engine = create_engine(f'postgresql+psycopg2://user:password@host/db')
result = engine.execute('SELECT concat(col_1, col_2) AS uid FROM db_table;')
我可以更改表以创建一个新列:
engine.execute('ALTER TABLE db_table
ADD COLUMN concat_1_2 VARCHAR NOT NULL;')
但是如何以有效的方式(非常多的行)将结果查询插入到表中?
解决方案
如果您只需要插入,则可以使用插入选择
insert into db_table (concat_1_2 )
SELECT concat(col_1, col_2)
FROM db_table
否则只需使用更新
UPDATE db_table
SET concat_1_2 = concat(col_1, col_2)
推荐阅读
- node.js - fs.unlinkSync 抛出“不允许操作”错误,但仍然可以工作
- php - 如何从三个数据库表中进行嵌套循环?
- karate - 发送请求时,空手道会更新 Multipart Content-Type 标头
- evosuite - Evosuite:错误 TestSuiteGenerator 全栈:java.lang.IllegalArgumentException:null
- reactjs - 如何使用 joi 模式在反应 js 中进行密码验证?
- angular - Angular 的库是怎么回事?这些是多余的吗?
- r - 如何使用循环函数在同一个图上创建多个 ggboxplots?
- javascript - 更新对象值
- javascript - 使用 jQuery 的 PHP 表单提交在表中不起作用
- clojure - 嵌套级别之间具有相互依赖值的映射规范?