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

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

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

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

· INSERT INTO SELECT

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

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

图中是本例使用的源表的结构(当然目标表和它是一模一样的),因为目前复制的这张表含有主键,并且设为标识自动增长,所以在向新表插入数据时会发生不允许向标识列插入数据的错误,请参考文章: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的设计就只有字段名、字段类型、是否为空与源表保持一致,主键外键等约束会消失,需要自行手动添加。

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

使用SQL语句的子查询批量复制表数据的更多相关文章

  1. 工作随笔——mysql子查询删除原表数据

    最近在开发的时候遇到一个mysql的子查询删除原表数据的问题.在网上也看了很多方法,基本也是然并卵(不是写的太乱就是效率太慢). 公司DBA给了一个很好的解决方案,让人耳目一新. DELETE fb. ...

  2. SQL语句:子查询

    一,子查询定义: 子查询就是嵌套在主查询中的查询. 子查询可以嵌套在主查询中所有位置,包括SELECT.FROM.WHERE.GROUP BY.HAVING.ORDER BY. 但并不是每个位置嵌套子 ...

  3. sql 语句 嵌套子查询 执行顺序分析

    --创建测试数据create table Student(S# varchar(10),Sname nvarchar(10),Sage datetime,Ssex nvarchar(10))inser ...

  4. TP的一条sql语句(子查询)

    $model=M(''); $model->table(C('DB_PREFIX').'goods as g') ->join(C('DB_PREFIX').'orders as o on ...

  5. SQL语句技巧:查询存在一个表而不在另一个表中的数据记录

    方法一(仅适用单个字段)使用 not in ,容易理解,效率低 select A.ID from A where A.ID not in (select ID from B) 方法二(适用多个字段匹配 ...

  6. SQL Server 数据库子查询基本语法

    一.SQL子查询语句 1.单行子查询        select ename,deptno,sal        from emp        where deptno=(select deptno ...

  7. sql之独立子查询和相关子查询总结

    1.独立子查询:顾名思义:就是子查询和外层查询不存在任何联系,是独立于外层查询的: 下面就看一个例子: 有一张订单表 Sales.Order 和一张 客户表 Sales.Customer 下面的sql ...

  8. [sql Server]除非另外还指定了TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效

    今天遇到一个奇怪的问题,项目突然要从mysql切换到sql server数据库,包含order by 子句的嵌套子查询报错. 示例:select top 10 name,age,sex from ( ...

  9. C# ADO.NET (sql语句连接方式)(查询)

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

随机推荐

  1. easyui tree带checkbox实现单选

    <ul id="regionTree"></ul> $('#regionTree').tree({ cascadeCheck: false, //onlyL ...

  2. linux下查看线程数的几种方法

    1. cat /proc/${pid}/status 2.pstree -p ${pid} 3.top -p ${pid} 再按H   或者直接输入 top -bH -d 3 -p  ${pid} t ...

  3. vb sendmessage 详解2

    首先我们了解一下Windows的消息机制.Windows是一个消息驱动式系统,Windows消息提供应用程序与应用程序之间,应用程序与Windows系统之间进行通信的手段.举个例子,打开记事本程序,该 ...

  4. 设置python 命令行交互程序自己主动补齐

    1. 新建Python环境变量配置文件: vim ~/.pystartup # Add auto-completion and a stored history file of commands to ...

  5. 解决运行Maven是报错:No goals have been specified for this build

    pom.xml文件<build>标签后面加上<defaultGoal>compile</defaultGoal>即可

  6. openerp 中文乱码及界面翻译不全

    openerp中文报表乱码问题,即是字体问题,环境是ubuntu 12.04 openerp 6.1, deb all in one安装方式 一.cd usr/share/fonts/truetype ...

  7. exception ORA-00923: FROM keyword not found where expected

      exception ORA-00923: FROM keyword not found where expected CreationTime--2018年8月16日10点41分 Author:M ...

  8. 像烟瘾一样的Adobe Flash,真的戒不掉吗?

    近来对Adobe Flash来说真是段难过的日子.Hacking Team公司外泄的440GB电子邮件数据已成为黑客挖掘安全漏洞的宝藏. 光是Flash就被发现了三个不同的漏洞: l  CVE-201 ...

  9. 【BIEE】超过了已配置的最大允许输入记录数

    声明:BIEE版本为Oracle Business Intelligence 11.1.1.7.160719 BIEE打开报表报错如下: 如果你是英文版的错误如下: "View Displa ...

  10. redis阻塞bgsave与bsrewriteaof

    问题描述: redis在进程偶尔会出现2个进程redis-server \ redis-bgsave Redis 首先 fork 一个子进程, 并在该子进程里进行归并和写持久化存储设备(如硬盘)的. ...