将数据复制到另一个表中

时间:2012-11-05 17:54:44

标签: sql sql-server sql-server-2008

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

修改

我的意思是说有查询

select * 
into table1 
from table2 
where 1=1 

使用与table1中相同的架构和数据创建table2

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

10 个答案:

答案 0 :(得分:257)

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

INSERT INTO newTable
SELECT * FROM oldTable

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

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

答案 1 :(得分:12)

这是正确的方法:

INSERT INTO destinationTable
SELECT * FROM sourceTable

答案 2 :(得分:8)

INSERT INTO table1 (col1, col2, col3)
SELECT column1, column2, column3
FROM table2                                        

答案 3 :(得分:7)

试试这个:

INSERT INTO MyTable1 (Col1, Col2, Col4)
   SELECT Col1, Col2, Col3 FROM MyTable2

答案 4 :(得分:4)

试试这个:

Insert Into table2
Select * from table1

答案 5 :(得分:4)

如果新表不存在并且您想要创建旧表的副本,然后在SQL Server中使用以下所有内容,那么这是一种简单的方法。

SELECT * INTO NewTable FROM OldTable

答案 6 :(得分:2)

Monas-MacBook-Pro:social_network mona$ ls
bower.json      hooks           node_modules        plugins         www
config.xml      ionic.config.json   package.json        resources
gulpfile.js     ionic.project       platforms       scss
Monas-MacBook-Pro:social_network mona$ ionic serve

Error parsing www/config.xml: TypeError: Cannot read property '0' of undefined
    at /usr/local/lib/node_modules/ionic/node_modules/ionic-app-lib/lib/utils.js:243:47
    at Parser.<anonymous> (/usr/local/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/xml2js/lib/xml2js.js:484:18)
    at emitOne (events.js:90:13)
    at Parser.emit (events.js:182:7)
    at Object.onclosetag (/usr/local/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/xml2js/lib/xml2js.js:445:26)
    at emit (/usr/local/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/xml2js/node_modules/sax/lib/sax.js:640:35)
    at emitNode (/usr/local/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/xml2js/node_modules/sax/lib/sax.js:645:5)
    at closeTag (/usr/local/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/xml2js/node_modules/sax/lib/sax.js:905:7)
    at Object.write (/usr/local/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/xml2js/node_modules/sax/lib/sax.js:1449:13)
    at Parser.exports.Parser.Parser.parseString (/usr/local/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/xml2js/lib/xml2js.js:503:31) (CLI v2.0.0-beta.32)

Your system information:

Cordova CLI: You have been opted out of telemetry. To change this, run: cordova telemetry on.
6.2.0

Gulp version:  CLI version 3.9.0
Gulp local:   Local version 3.9.1
Ionic Framework Version: 1.0.1
Ionic CLI Version: 2.0.0-beta.32
Ionic App Lib Version: 2.0.0-beta.18
ios-deploy version: Not installed
ios-sim version: 3.1.1 
OS: Mac OS X Yosemite
Node Version: v5.8.0
Xcode version: Xcode 6.2 Build version 6C131e 



Monas-MacBook-Pro:social_network mona$ cordova telemetry on
Thanks for opting into telemetry to help us improve cordova.
Monas-MacBook-Pro:social_network mona$ ionic serve

Error parsing www/config.xml: TypeError: Cannot read property '0' of undefined
    at /usr/local/lib/node_modules/ionic/node_modules/ionic-app-lib/lib/utils.js:243:47
    at Parser.<anonymous> (/usr/local/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/xml2js/lib/xml2js.js:484:18)
    at emitOne (events.js:90:13)
    at Parser.emit (events.js:182:7)
    at Object.onclosetag (/usr/local/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/xml2js/lib/xml2js.js:445:26)
    at emit (/usr/local/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/xml2js/node_modules/sax/lib/sax.js:640:35)
    at emitNode (/usr/local/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/xml2js/node_modules/sax/lib/sax.js:645:5)
    at closeTag (/usr/local/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/xml2js/node_modules/sax/lib/sax.js:905:7)
    at Object.write (/usr/local/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/xml2js/node_modules/sax/lib/sax.js:1449:13)
    at Parser.exports.Parser.Parser.parseString (/usr/local/lib/node_modules/ionic/node_modules/ionic-app-lib/node_modules/xml2js/lib/xml2js.js:503:31) (CLI v2.0.0-beta.32)

Your system information:

Cordova CLI: 6.2.0
Gulp version:  CLI version 3.9.0
Gulp local:   Local version 3.9.1
Ionic Framework Version: 1.0.1
Ionic CLI Version: 2.0.0-beta.32
Ionic App Lib Version: 2.0.0-beta.18
ios-deploy version: Not installed
ios-sim version: 3.1.1 
OS: Mac OS X Yosemite
Node Version: v5.8.0
Xcode version: Xcode 6.2 Build version 6C131e 

并非强制列名称相同。

答案 7 :(得分:1)

插入带有条件的所选列

mainComponent = new MainComponent;

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

INSERT INTO where_to_insert (col_1,col_2) SELECT col1, col2 FROM from_table WHERE condition;

SELECT * FROM from_table WHERE条件;

答案 8 :(得分:0)

CREATE TABLE `table2` LIKE `table1`;
INSERT INTO `table2` SELECT * FROM `table1`;

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

答案 9 :(得分:0)

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

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;