将一个表中的数据拷贝到另一张表中(包括同数据库和不同数据库)

第一种 :移入数据的表存在的情况下使用INSERT INTO SELECT语句:

  使用规则如下: Insert into Table2(field1,field2,...) select value1,value2,... from Table1 [where column =value][];

  注意:使用此语句一定要保证table2一定存在,并且插入的字段也要存在不然会报错

  如果我们需要插入数据的同时还希望插入一些常量进去。使用规则如下:

  insert into newuser(country,age,username,...) select '中国',age,username,... from user where age>16;

  //"中国"是插入的常亮

第二种 :移入数据的表不存在的情况下使用SELECT INTO FROM语句:

      语句形式为:SELECT vale1, value2 into Table2 from Table1

      要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。示例如下:

  select id,username,password into newuser from user(注:newuser表不存在,执行sql后自动创建)

第三种 :从一个数据库拷贝到另一个数据库的情况下使用(注:两张表都存在):

       语句形式为:insert into 数据库名.框架名.表名(列名) select (列名) from 数据库名.框架名.表名 where 条件

       例如:insert into MyEmp.dbo.newuser(username)
   select username from MyCmd.dbo.user where age>16;

posted @ 2017-04-26 15:08  neptunus  阅读(241)  评论(0)    收藏  举报