首页 > 解决方案 > 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;')

但是如何以有效的方式(非常多的行)将结果查询插入到表中?

标签: pythonpostgresqlpsycopg2

解决方案


如果您只需要插入,则可以使用插入选择

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) 

推荐阅读