如何复制/追加数据从一个表到另一个表与SQL Server相同的模式?
编辑:
假设有一个查询
select *
into table1
from table2
where 1=1
它使用与table2相同的模式和数据创建table1。
是否存在这样的短查询,只将整个数据复制到一个已经存在的表中?
如何复制/追加数据从一个表到另一个表与SQL Server相同的模式?
编辑:
假设有一个查询
select *
into table1
from table2
where 1=1
它使用与table2相同的模式和数据创建table1。
是否存在这样的短查询,只将整个数据复制到一个已经存在的表中?
当前回答
INSERT INTO table1 (col1, col2, col3)
SELECT column1, column2, column3
FROM table2
其他回答
INSERT INTO table1 (col1, col2, col3)
SELECT column1, column2, column3
FROM table2
INSERT INTO DestinationTable(SupplierName, Country)
SELECT SupplierName, Country FROM SourceTable;
列名不一定相同。
试试这个:
INSERT INTO MyTable1 (Col1, Col2, Col4)
SELECT Col1, Col2, Col3 FROM MyTable2
CREATE TABLE `table2` LIKE `table1`;
INSERT INTO `table2` SELECT * FROM `table1`;
第一个查询将创建从table1到table2的结构,第二个查询将把数据从table1放到table2
如果两个表确实是相同的模式:
INSERT INTO newTable
SELECT * FROM oldTable
否则,你必须指定列名(newTable的列列表是可选的,如果你为所有列指定一个值,并以与newTable的模式相同的顺序选择列):
INSERT INTO newTable (col1, col2, col3)
SELECT column1, column2, column3
FROM oldTable