如何将一张表复制到另一张表

Posted

技术标签:

【中文标题】如何将一张表复制到另一张表【英文标题】:How to copy one table to another 【发布时间】:2012-12-31 18:21:51 【问题描述】:

我想将table1的内容复制到table2中,但不是直接复制,因为table2包含的列比table1多。结构类似这样:

表 1 第 2 列 第 4 列 第 6 列

表2 第 1 列 第 2 列 第 3 列 第 4 列 第 5 列 第 6 列

我想要做的是将 table1 中的每一行添加到 table2,并为缺少的列设置默认值。任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

你可以做一个

INSERT INTO xxx
SELECT yyy

并且在 select 子句中,放入默认值。

INSERT INTO Table2(column1, column2, column3, column4, column5, column6)
SELECT 'horse', column2, 2, column4, 'what ever I want', column6 
FROM Table1

所以 int Table2,所有 column1 都将具有 'horse' 值。 所有 column3 将有 2。 等等。

【讨论】:

我没有意识到你可以像这样在同一个 select 语句中包含值。完美,谢谢。【参考方案2】:

使用INSERT..INTO SELECT 声明

INSERT INTO table2 (column2, column4, column6)
SELECT column2, column4, column6
FROM table1

所以在这种情况下,列:column1column2column3 将具有空值。或您设置的任何默认值。

【讨论】:

table2 没有设置默认值。是否可以在单个 Insert 语句中插入新列的默认值?【参考方案3】:

不擅长 SQL 但类似这样:

INSERT INTO [Table1] (column2, column4, column6) SELECT (column1, column2, column3) FROM [Table2]

希望这会有所帮助。可能有用的链接,http://www.blackwasp.co.uk/SQLSelectInsert.aspx

投票给我我需要积分 :P

【讨论】:

【参考方案4】:

请尝试

INSERT INTO 
    Table2  (
    column1,
    column2,
    column3,
    column4,
    column5,
    column6,
        )
SELECT 
    'StaticValue1',
    column2,
    'StaticValue2'
    column4,
    'StaticValue3'
    column6,
FROM 
    Table1

【讨论】:

【参考方案5】:

将完整表复制到新表中:

SELECT * INTO table2 FROM table1;

http://www.w3schools.com/sql/sql_select_into.asp

将表复制到现有表中:

INSERT INTO table2
SELECT * FROM table1;

http://www.w3schools.com/sql/sql_insert_into_select.asp

【讨论】:

OP 说表格上的列不是一对一的。我不记得了,但这里的所有其他答案都指定了列名(大概是因为这个原因)。【参考方案6】:
insert into TABLE2
select null colum1, column2,null colum3,column4,null colum5,column6
from((
Select  TABLE1.column2, TABLE1.column4, TABLE1.column6
from TABLE1, TABLE2
where TABLE1.primarykey=TABLE2.primarykey))

【讨论】:

以上是关于如何将一张表复制到另一张表的主要内容,如果未能解决你的问题,请参考以下文章

如何将一张图像的一部分复制到另一张图像?

在 MySQL 中,如何将一张表的内容复制到同一个数据库中的另一张表中?

在 MySQL 中,如何将一张表的内容复制到同一个数据库中的另一张表中?

在 MySQL 中,如何将一张表的内容复制到同一个数据库中的另一张表中?

如何使用复制命令在 postgres 中将数据从一个表复制到另一个表

Hive:分区表表结构和数据复制