如何使用复制命令

时间:2015-07-08 05:53:05

标签: sql postgresql

我们使用copy命令将一个表的数据复制到数据库外的文件中。

是否可以使用命令将一个表的数据复制到另一个表。

如果有,可以请任何人分享查询。

或者是否有更好的方法,比如我们可以使用pg_dump或类似的东西。

感谢您的帮助。

此致 莫希特

3 个答案:

答案 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');