如何复制/追加数据从一个表到另一个表与SQL Server相同的模式?

编辑:

假设有一个查询

select * 
into table1 
from table2 
where 1=1 

它使用与table2相同的模式和数据创建table1。

是否存在这样的短查询,只将整个数据复制到一个已经存在的表中?


当前回答

如果两个表确实是相同的模式:

INSERT INTO newTable
SELECT * FROM oldTable

否则,你必须指定列名(newTable的列列表是可选的,如果你为所有列指定一个值,并以与newTable的模式相同的顺序选择列):

INSERT INTO newTable (col1, col2, col3)
SELECT column1, column2, column3
FROM oldTable

其他回答

带条件插入所选列

INSERT INTO where_to_insert (col_1,col_2) SELECT col1, col2 FROM from_table WHERE condition;

将所有数据从一个表复制到另一个具有相同列名的表。

INSERT INTO where_to_insert 
SELECT * FROM from_table WHERE condition;

简单的方法,如果新表不存在,你想做一个旧表的拷贝,然后在SQL Server工作。

SELECT * INTO NewTable FROM OldTable

试试这个:

Insert Into table2
Select * from table1

下面是正确的做法:

INSERT INTO destinationTable
SELECT * FROM sourceTable
CREATE TABLE `table2` LIKE `table1`;
INSERT INTO `table2` SELECT * FROM `table1`;

第一个查询将创建从table1到table2的结构,第二个查询将把数据从table1放到table2