星哥的博客

  • 首页
  • 系统
  • 虚拟机
  • 网站开发
  • 硬件外设
  • VPS/云主机
  • 心情随笔
wangxingcs
星哥的博客
  1. 首页
  2. 网站开发
  3. Mysql
  4. 正文

SELECT INTO 和 INSERT INTO SELECT 两种表复制语句

2011年6月22日 555点热度 2人点赞 0条评论

Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将 一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。

1.INSERT INTO SELECT语句

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

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

--1.创建测试表
create TABLE Table1
(
a varchar(10),
b varchar(10),
c varchar(10),
CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
(
a ASC
)
) ON [PRIMARY]

create TABLE Table2
(
a varchar(10),
c varchar(10),
d int,
CONSTRAINT [PK_Table2] PRIMARY KEY CLUSTERED
(
a ASC
)
) ON [PRIMARY]
GO
--2.创建测试数据
Insert into Table1 values('赵','asds','90')
Insert into Table1 values('钱','asds','100')
Insert into Table1 values('孙','asds','80')
Insert into Table1 values('李','asds',null)
GO
select * from Table2

--3.INSERT INTO SELECT语句复制表数据
Insert into Table2(a, c, d) select a,c,5 from Table1
GO

--4.显示更新后的结果
select * from Table2
GO
--5.删除测试表
drop TABLE Table1
drop TABLE Table2

2.SELECT INTO FROM语句

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

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

--1.创建测试表
create TABLE Table1
(
a varchar(10),
b varchar(10),
c varchar(10),
CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
(
a ASC
)
) ON [PRIMARY]
GO

--2.创建测试数据
Insert into Table1 values('赵','asds','90')
Insert into Table1 values('钱','asds','100')
Insert into Table1 values('孙','asds','80')
Insert into Table1 values('李','asds',null)
GO

--3.SELECT INTO FROM语句创建表Table2并复制数据
select a,c INTO Table2 from Table1
GO

--4.显示更新后的结果
select * from Table2
GO
--5.删除测试表
drop TABLE Table1
drop TABLE Table2

以上2中语句写法,补充一个:

Insert into Table3(field1,field2,...) select Table1.value1,value2,... from Table1 ,Table2 Where Table1.value1 = Table2.value1

Where后面不能出现Table3

标签: 暂无
最后更新:2011年7月2日

wangxingcs

这个人很懒,什么都没留下

点赞
下一篇 >

文章评论

取消回复

wangxingcs

这个人很懒,什么都没留下

标签聚合
FineCMS 群晖 POSCMS 虚拟机 PVE 手机 CMS DSM
最新 热点 随机
最新 热点 随机
Proxmox VE(PVE)添加硬盘 PVE解决VM is locked问题 Proxmox VE配置更新源 黑群晖显示真实CPU信息 Proxmox VE直通硬盘(全盘映射方式) PVE去除“没有有效订阅”提示 Proxmox VE 6.1/6.2 U盘安装教程 黑群使用SSH修改启动盘SN和MAC的方法 ProxmoxVE添加E1000e网卡(可升级群晖6.2.2) 测试下WordPress手机端APP WIN10下MarkdownPad HTML渲染错误(This view has crashed) 的解决办法 + 注册码 INF 中的服务安装段落无效问题解决(手机MTP驱动黄色感叹号) finecms高级版 使用自定义字段访问文章 微赞自定义二维码功能增强 Nginx SSL性能优化参数
Proxmox VE(PVE)添加硬盘
Windows 2008 R2 Hyper-v 安装Centos6.3和LinuxIC v3.4 windows 7更新失败的修复方法 远程连接mysql速度慢的解决方法 IE6-8下img标签对两端对齐代码的不兼容 Notepad++ 主题安装 黑群晖显示真实CPU信息 纯CSS实现侧边栏/分栏高度自动相等 CSS @media 适配代码 亚马逊EC2试用 操作事项记录 ecshop添加注册短信验证功能 Proxmox VE 6.1/6.2 U盘安装教程 织梦后台修改步骤 DX2.5 SEO设置中无法使用空格的解决方法 织梦搜索页面无法使用arclist等标签解决办法 centos 5.6下fdisk分区、格式化、挂载新硬盘

COPYRIGHT © 2020 星哥的博客. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

陕ICP备13007295号-1