select * into 目标表名 from 源表名
insert into 目标表名(fld1, fld2) select fld1, 5 from 源表名

以上两句都是将'源表'的数据插入到'目标表',但两句又有区别的:

第一句(select into from)要求目标表不存在,因为在插入时会自动创建。

第二句(insert into select from)要求目标表存在,由于目标表已经存在,所以我们除了插入源表的字段外,还可以插入常量,如例中的:5。

示例

目前有数据如下:

现在要将id为2的数据复制一条到表中,可用如下语句:

insert into test select * from test where id=2;

结果如图:

现在要将id为2的数据都复制到表中,同时把其 name 的值改为 'f',可用如下语句:

insert into test(id,name) select id,'f' from test where id=2

结果如图:


对此,我们就可以扩充下,目前有数据如下:

1:复制表结构及数据到新表

SELECT * INTO 目的数据库名.dbo.目的表名 FROM 原表名

我们把表 test 的结构和数据复制到新表 test1:

SELECT * INTO test1 FROM test

结果如下:

2.备份表的一部分列(不写*而写出列的列表)

SELECT 列名1,列名2,列名3 into 目的数据库名.dbo.目的表名 from 原表名

我们把表 test1 列 id,name 的数据复制到 test2:

SELECT id,name INTO test2 FROM test1

结果如下:

3.备份表的一部分行(加 WHERE 条件)

SELECT * INTO 目的数据库名.dbo.目的表名 FROM 原表名 WHERE 条件

我们把 id 为1的数据从test2复制到 test3:

SELECT * INTO test3 FROM test2 WHERE id = 1

结果如下:

4.备份表的一部分列(不写*而写出列的列表)和一部分行(加WHERE条件)

SELECT 列名1,列名2,列名3 INTO 目的数据库名.dbo.目的表名 FROM 原表名 WHERE 条件

我们把在 id 大于0 时,数据表 test1 的列 id,age 的数据复制到 test4:

SELECT id,age INTO test4 FROM test1 WHERE id > 0

结果如下:

5.只复制表的结构

这种情况,我们只要设置查询条件不成立即可。我们把表 test1 的表结构复制到新表 test5:

SELECT * INTO test5 FROM test1 WHERE 1=2

结果如下:

6.复制的结构数据来源于多个表

其实我们要多个表的查询结构作为一个数据源就行了,我们先看看表 test2 和 test4 目前的结果和数据:

然后我再把 id 相同下的 id,name,age 数据复制到新表 test6:

SELECT id,name,age INTO test6 FROM (SELECT test2.id,name,age FROM test2 INNER JOIN test4 ON test2.id = test4.id) as a

结果如下:

【SQL 代码】SQL复制数据表及表结构的更多相关文章

  1. sql创建备份表和复制数据到备份表

    1.复制表结构及数据到新表CREATE TABLE 新表 SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable; ...

  2. SQL语句完成Excel数据导入数据库表中流程方法及注意事项

    第一步:先查看数据库是否安装AccessDatabaseEngine_X64.exe, 如下图查看: 如果未安装先下载脚本之家下载地址 https://www.jb51.net/softs/29150 ...

  3. sql代码段添加数据

      declare @i int,@index int     set @i=1     set @index=0   while @i<1000000   begin    set @inde ...

  4. ORACLE+PYTHON实战:复制A表数据到B表

    最近在学习python ,看到了pythod的oracle,不仅可以一次fetch多条,也可以一次insert多条,想写一个复制A表数据到B表的程序来看看实际效率能不能提高.写完发现,非常惊艳!效率提 ...

  5. MySQL 复制表(表结构、表结构和数据)

    MySQL 中使用 命令行 复制表结构及数据的方法主要有以下几种: 1.只复制表结构 CREATE TABLE new_table SELECT * FROM old_table WHERE 1=2: ...

  6. sql server中备份数据的几种方式

    当我们在写sql脚本要对数据表中的数据进行修改的时候,为了防止破坏数据,通常在开发前都会对数据表的数据进行备份,当我们sql脚本开发并测试完成后,再把数据恢复回来. 目前备份数据,我常用的方法有以下几 ...

  7. 用.net中的SqlBulkCopy类批量复制数据 (转载)

    在软件开发中,把数据从一个地方复制到另一个地方是一个普遍的应用. 在很多不同的场合都会执行这个操作,包括旧系统到新系统的移植,从不同的数据库备份数据和收集数据. .NET 2.0有一个SqlBulkC ...

  8. 使用asp.net 2.0中的SqlBulkCopy类批量复制数据

    介绍:在软件开发中,把数据从一个地方复制到另一个地方是一个普遍的应用. 在很多不同的场合都会执行这个操作,包括旧系统到新系统的移植,从不同的数据库备份数据和收集数据. ASP.NET 2.0有一个Sq ...

  9. 6.Mybatis中的动态Sql和Sql片段(Mybatis的一个核心)

    动态Sql是Mybatis的核心,就是对我们的sql语句进行灵活的操作,他可以通过表达式,对sql语句进行判断,然后对其进行灵活的拼接和组装.可以简单的说成Mybatis中可以动态去的判断需不需要某些 ...

随机推荐

  1. linux 搜索文件

    https://blog.csdn.net/json_ligege/article/details/72865645 1.find   find是最常见和最强大的查找命令,你可以用它找到任何你想找的文 ...

  2. 性能测试三十二:监控之Java线程监控

    线程的五种状态 * 新建:new * 运行:runnable * 等待:waitting(无限期等待),timed waitting(限期等待) * 阻塞:blocked * 结束:terminate ...

  3. python 全栈开发,Day104(DRF用户认证,结算中心,django-redis)

    考试第二部分:MySQL数据库 6.  MySQL中char和varchar的区别(1分) char是定长,varchar是变长. char的查询速度比varchar要快. 7.   MySQL中va ...

  4. 步步为营-71-asp.net的简单练习(图片处理)

    1 原有图片添加水印 1.1 封装一个类,用于获取文件路径 using System; using System.Collections.Generic; using System.IO; using ...

  5. 胖哈勃杯Pwn400、Pwn500详解

    概述 这次的胖哈博杯我出了Pwn400.Pwn500两道题目,这里讲一下出题和解题的思路.我个人感觉前两年的Pwn题更多的是考察单一的利用技巧,比我这有个洞怎么利用它拿到权限.但是我研究了一些最近的题 ...

  6. 【C++ Primer | 19】控制内存分配

    重载new和delete 1. 测试代码: #include<iostream> #include<new> using namespace std; class A { pu ...

  7. hdu 4549 M斐波拉契 (矩阵快速幂 + 费马小定理)

    Problem DescriptionM斐波那契数列F[n]是一种整数数列,它的定义如下: F[0] = aF[1] = bF[n] = F[n-1] * F[n-2] ( n > 1 ) 现在 ...

  8. Ckeditor一种很方便的文本编辑器

    ckeditor官网:http://ckeditor.com/ 这里介绍ckeditor的其中一个的用法,自己做小项目练手非常的适合,上手非常的快. 首先去官网下载这个东西,链接:http://pan ...

  9. 在Centos下用alternative命令切换各个版本的jdk的方法

    https://blog.csdn.net/nsrainbow/article/details/43273991 https://blog.csdn.net/yzh_1346983557/articl ...

  10. Oracle分区表删除分区数据时导致索引失效解决

    https://blog.csdn.net/e_wsq/article/details/80896258