快捷搜索:
来自 网络数据库 2019-12-01 12:22 的文章
当前位置: 67677新澳门手机版 > 网络数据库 > 正文

SQL复制数据表及表结构

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

上述两句都以将'源表'的多少插入到'指标表',但两句又有分其他:

首先句(select into from)须求指标表不设有,因为在插入时会自动创制。

其次句(insert into select from)要求指标表存在,由于指标表已经存在,所以大家除了插入源表的字段外,仍可以够插入常量,如例中的:5。

 

示例

近期有数量如下:

图片 1

于今要将id为2的数目复制一条到表中,可用如下语句:

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

结果如图:

图片 2

今后要将id为2的数量都复制到表中,同有的时候间把其 name 的值改为 'f',可用如下语句:

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

结果如图:

图片 3

 


 对此,大家就足以扩大下,方今有多少如下:

图片 4

 

1:复制表布局及数码到新表

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

大家把表 test 的结商谈多少复制到新表 test1:

SELECT * INTO test1 FROM test

结果如下:

图片 5

 

2.备份表的生龙活虎有的列(不写*而写出列的列表)

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

大家把表 test1 列 id,name 的数目复制到 test2:

SELECT id,name INTO test2 FROM test1

结果如下:

图片 6

 

3.备份表的生龙活虎有个别行(加 WHERE 条件)

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

大家把 id 为1的数目从test2复制到 test3:

SELECT * INTO test3 FROM test2 WHERE id = 1

结果如下:

图片 7

 

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

结果如下:

图片 8

 

5.只复制表的布局

这种状态,大家只要设置查询条件不成登时可。大家把表 test1 的表构造复制到新表 test5:

SELECT * INTO test5 FROM test1 WHERE 1=2

结果如下:

图片 9

 

6.复制的布局数据来源于多个表

实际上大家要四个表的询问布局作为三个数据源就能够了,我们先看看表 test2 和 test4 最近的结果和数据:

图片 10

然后自身再把 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

结果如下:

图片 11

本文由67677新澳门手机版发布于网络数据库,转载请注明出处:SQL复制数据表及表结构

关键词: