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

编辑:

假设有一个查询

select * 
into table1 
from table2 
where 1=1 

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

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


当前回答

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

列名不一定相同。

其他回答

试试这个:

Insert Into table2
Select * from table1

带条件插入所选列

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;

试试这个:

INSERT INTO MyTable1 (Col1, Col2, Col4)
   SELECT Col1, Col2, Col3 FROM MyTable2
INSERT INTO table1 (col1, col2, col3)
SELECT column1, column2, column3
FROM table2                                        

将所有列从一个表复制到另一个表:

INSERT INTO table2
SELECT * FROM table1
WHERE condition;

只从一个表复制一些列到另一个表:

INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;

你可以通过执行以下命令复制或“克隆”一个表的内容:

CREATE TABLE new_table AS SELECT * FROM original_table;