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

编辑:

假设有一个查询

select * 
into table1 
from table2 
where 1=1 

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

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


当前回答

——针对Sql Server用户。

如果您没有新表,那么您可以创建具有与旧表相同结构的新表,并将数据从旧表复制到新表。例如:

select * into new_table
from old_table; 

您还可以复制列/表结构,以及一些数据。例如:

select * into new_table
from old_table 
where country = 'DE'; 

其他回答

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

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

INSERT INTO DestinationTable(SupplierName, Country)
SELECT SupplierName, Country FROM SourceTable;

列名不一定相同。

INSERT INTO table1 (col1, col2, col3)
SELECT column1, column2, column3
FROM table2                                        

试试这个:

Insert Into table2
Select * from table1

下面是正确的做法:

INSERT INTO destinationTable
SELECT * FROM sourceTable