将数据复制到另一个表中

Raj*_*lar 140 sql sql-server sql-server-2008

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

编辑:

我的意思是说有查询

select * 
into table1 
from table2 
where 1=1 
Run Code Online (Sandbox Code Playgroud)

table1使用相同的模式和数据创建table2.

有没有像这样的简短查询只将整个数据复制到现有的表中?

lc.*_*lc. 286

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

INSERT INTO newTable
SELECT * FROM oldTable
Run Code Online (Sandbox Code Playgroud)

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

INSERT INTO newTable (col1, col2, col3)
SELECT column1, column2, column3
FROM oldTable
Run Code Online (Sandbox Code Playgroud)

  • @coder它只是一个select子句,所以欢​​迎你把它放在你想要的任何内容中,包括显式的`NULL`s,字符串常量,表达式,甚至是子查询. (3认同)
  • 如果两个表都呈现相似的模式,但有一列“身份规范”为 YES,则 SQL 语句需要枚举所有列,但带有身份规范的列除外。 (2认同)

Zzz*_*Zzz 18

这是正确的方法:

INSERT INTO destinationTable
SELECT * FROM sourceTable
Run Code Online (Sandbox Code Playgroud)


小智 10

INSERT INTO table1 (col1, col2, col3)
SELECT column1, column2, column3
FROM table2                                        
Run Code Online (Sandbox Code Playgroud)


Sat*_*tel 10

如果不存在新表,而您想复制所有内容的旧表的简单方法,则可以在SQL Server中进行以下操作。

SELECT * INTO NewTable FROM OldTable
Run Code Online (Sandbox Code Playgroud)


Abe*_*ler 9

试试这个:

INSERT INTO MyTable1 (Col1, Col2, Col4)
   SELECT Col1, Col2, Col3 FROM MyTable2
Run Code Online (Sandbox Code Playgroud)


Kap*_*wal 6

尝试这个:

Insert Into table2
Select * from table1
Run Code Online (Sandbox Code Playgroud)


Nim*_*rma 6

插入带有条件的选定列

INSERT INTO where_to_insert (col_1,col_2) SELECT col1, col2 FROM from_table WHERE condition;
Run Code Online (Sandbox Code Playgroud)

将所有数据从一个表复制到具有相同列名的另一表。

INSERT INTO where_to_insert 
SELECT * FROM from_table WHERE condition;
Run Code Online (Sandbox Code Playgroud)


Ren*_*cha 5

CREATE TABLE `table2` LIKE `table1`;
INSERT INTO `table2` SELECT * FROM `table1`;
Run Code Online (Sandbox Code Playgroud)

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