zoukankan      html  css  js  c++  java
  • 使用SQL语句的子查询批量复制表数据

    批量复制表数据这里有两种方法,下面分别来介绍这两种方法:

    一、手动创建新表,然后复制数据

    如果是要复制整个表的话,可以使用SQL SERVER自动生成CREATE脚本:

    QQ截图20130809154431

    然后在脚本中改改表名就可以了,这样就有了一张和原来一模一样的新表。

    · INSERT INTO SELECT

    语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1

    说明:要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。

    QQ截图20130809155215

    图中是本例使用的源表的结构(当然目标表和它是一模一样的),因为目前复制的这张表含有主键,并且设为标识自动增长,所以在向新表插入数据时会发生不允许向标识列插入数据的错误,请参考文章:http://www.cnblogs.com/xwgli/p/3210928.html

    本例的SQL语句即为:
    insert into Categories2([CategoryID],[CategoryName],[Description],[Picture])
    select * from Categories 
    
     
     
    二、直接复制数据,在复制过程中自动创建新表
     
    · SELECT INTO FROM

    语句形式为:SELECT vale1, value2,… into Table2 from Table1
    说明:要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。

    同样还是上一张表为例,SQL语句:

    select * into Categories3 from Categories
    

    但此时新表Categories3的设计就只有字段名、字段类型、是否为空与源表保持一致,主键外键等约束会消失,需要自行手动添加。

    QQ截图20130809155857

    以上就是两种批量复制数据的SQL语句。

  • 相关阅读:
    策略模式
    装饰模式VS代理模式
    BufferedInputSream实现原理
    从字节码角度分析重载与重写
    函数sprintf真好用
    算法时间复杂度
    二项分布(Binomial Distribution)
    numpy中的tile函数
    图像缩放算法(最临近点插值算法、双线性内插值算法、双立方插值算法)
    C++ 类中成员函数的属性
  • 原文地址:https://www.cnblogs.com/xwgli/p/3248470.html
Copyright © 2011-2022 走看看