簡體   English   中英

Python PostgreSQL psycopg2將列連接到新列

[英]Python PostgreSQL psycopg2 concatenate columns to new column

我可以使用以下代碼連接兩列:

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) 

如果要用新的col_1_2替換col_1col_2列,可以按以下方式更改表:

alter table db_table alter col_1 type varchar using concat(col_1, col_2);
alter table db_table rename col_1 to col_1_2;
alter table db_table drop col_2;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM