将数据复制到另一个表中

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

编辑:

我的意思是说有查询

select * into table1 from table2 where 1=1 

它使用与table2相同的模式和数据创buildtable1

是否有像这样的简短查询只将全部数据复制到已经存在的表中?

如果两个表都是真正相同的模式:

 INSERT INTO newTable SELECT * FROM oldTable 

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

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

这是做到这一点的正确方法:

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

尝试这个:

 INSERT INTO MyTable1 (Col1, Col2, Col4) SELECT Col1, Col2, Col3 FROM MyTable2 

尝试这个:

 Insert Into table2 Select * from table1 
 INSERT INTO DestinationTable(SupplierName, Country) SELECT SupplierName, Country FROM SourceTable; 

这不是强制性的列名相同。

只是为了完整的信息,要小心这个命令不要复制表的索引和触发器! 请参阅以下文章复制索引和触发器脚本: 在SQL Server中以编程方式将索引从一个表复制到另一个表

简单的方法,如果新表不存在,并且您想要使用一切,然后在SQL Server中工作的旧表的副本。

 SELECT * INTO NewTable FROM OldTable 
 select col1,col2,col3 into table2 from table 1