将数据复制到另一个表中
如何将数据从一个表复制/追加到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