Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 将数据复制到另一个表中_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql 将数据复制到另一个表中

Sql 将数据复制到另一个表中,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,在SQL Server中,如何将数据从一个表复制/追加到具有相同架构的另一个表中 编辑: 假设有一个问题 select * into table1 from table2 where 1=1 它使用与表2中相同的模式和数据创建表1 是否有类似这样的简短查询只将整个数据复制到现有表中?尝试以下操作: INSERT INTO MyTable1 (Col1, Col2, Col4) SELECT Col1, Col2, Col3 FROM MyTable2 Insert Into t

在SQL Server中,如何将数据从一个表复制/追加到具有相同架构的另一个表中

编辑:

假设有一个问题

select * 
into table1 
from table2 
where 1=1 
它使用与表2中相同的模式和数据创建表1

是否有类似这样的简短查询只将整个数据复制到现有表中?

尝试以下操作:

INSERT INTO MyTable1 (Col1, Col2, Col4)
   SELECT Col1, Col2, Col3 FROM MyTable2
Insert Into table2
Select * from table1

如果两个表确实是相同的架构:

INSERT INTO newTable
SELECT * FROM oldTable
否则,必须指定列名。如果要为所有列指定值,并按照与newTable架构相同的顺序选择列,则newTable的列列表是可选的:

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

这是正确的方法:

INSERT INTO destinationTable
SELECT * FROM sourceTable
试试这个:

INSERT INTO MyTable1 (Col1, Col2, Col4)
   SELECT Col1, Col2, Col3 FROM MyTable2
Insert Into table2
Select * from table1

列名不必相同。

简单的方法是,如果新表不存在,并且您希望复制包含所有内容的旧表,则以下操作在SQL Server中有效

SELECT * INTO NewTable FROM OldTable

插入带条件的选定列

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;

第一个查询将创建从表1到表2的结构,第二个查询将把数据从表1放到表2

如果我想为某个列输入空白数据怎么办???@coder这只是一个select子句,所以欢迎您在其中放入任何您想要的内容,包括显式null、字符串常量、表达式、,或者甚至子查询。为什么这不起作用插入到新表col1、col2、col3、col4值中从oldTable中选择column1、column2、column3,其中条件为“string”@AbdullahNurum,因为标量查询正在选择多个列。请参阅和,如果两个表都显示类似的架构,但有一列的“Identity Specification”为“是”,则SQL语句需要枚举所有列,但有Identity Specification的列除外。为获得完整信息,请注意,此命令不会复制表的索引和触发器!有关复制索引和触发器脚本,请参阅以下文章:如何解决此问题?插入到新表col1、col2、col3、col4值中,从条件为“字符串”的旧表中选择column1、column2、column3;您可以像插入新表col1、col2、col3、col4值一样从条件所在的旧表中选择column1、column2、column3,“string”作为col4
CREATE TABLE `table2` LIKE `table1`;
INSERT INTO `table2` SELECT * FROM `table1`;