我们使用copy命令将一个表的数据复制到数据库外的文件中。
是否可以使用命令将一个表的数据复制到另一个表。
如果有,可以请任何人分享查询。
或者是否有更好的方法,比如我们可以使用pg_dump或类似的东西。
感谢您的帮助。
此致 莫希特
答案 0 :(得分:88)
你不能轻易做到这一点,但也没有必要这样做。
CREATE TABLE mycopy AS
SELECT * FROM mytable;
或
CREATE TABLE mycopy (LIKE mytable INCLUDING ALL);
INSERT INTO mycopy
SELECT * FROM mytable;
如果您只需要选择某些列或重新排序,可以执行以下操作:
INSERT INTO mycopy(colA, colB)
SELECT col1, col2 FROM mytable;
您也可以选择性地执行pg_dump并恢复目标表。
答案 1 :(得分:0)
假设已经有一个表,并且您要将所有记录从该表复制到数据库中当前不存在的另一个表,那么以下查询将为您完成此任务:
[mobx.trace] 'EntityStore@1.renderPayload' is being read outside a reactive context. Doing a full recompute
答案 2 :(得分:0)
如果两个表中的列相同(名称和数据类型),则可以使用以下内容
INSERT INTO receivingtable (SELECT * FROM sourcetable WHERE column1='parameter' AND column2='anotherparameter');