MySQL 关于表复制 insert into 语法的详细介绍
假设我们有两张表:insertTest和insertTest2。前者已经包含了一些测试数据。
```sql
create table insertTest(id int(4),name varchar(12));
insert into insertTest values(100,'liudehua');
insert into insertTest values(101,'zhourunfa');
insert into insertTest values(102,'zhouhuajian');
```
接下来,我们根据不同的情况来讨论如何使用insert into语句进行表复制。
```sql
insert into insertTest select from insertTest2;
```
情况二:只希望导入指定字段。
如果我们只需要导入特定的字段,可以使用以下语句:
```sql
insert into 目标表 (字段1, 字段2, …) select 字段1, 字段2, … from 来源表;
```
例如,只导入insertTest表的id字段到insertTest2表:
```sql
insert into insertTest2(id) select id from insertTest;
```
情况三:只导入目标表中不存在的记录。
如果我们只希望导入那些在目标表中不存在的记录,可以使用以下语句,结合where not exists子句来实现:
```sql
insert into 目标表
(字段1, 字段2, …)
select 字段1, 字段2, …
from 来源表
where not exists (select from 目标表 where 目标表.比较字段 = 来源表.比较字段);
```
```sql
insert into insertTest2(id,name)
select id,name
from insertTest
where not exists (select from insertTest2 where insertTest2.id=insertTest.id);
```
```sql
insert into insertTest(id, name)
SELECT 103, '新的名字'
FROM dual
WHERE not exists (select from insertTest where insertTest.id = 103);
```
编程语言
- ThinkPad 笔记本如何调节LCD屏幕亮度
- Dreamweaver制作网页打开特效教程
- Win10 Mobile 10586升级后无限重启怎么办 硬重启帮您
- Win8系统提示音频设备有问题有一个或多个音频服
- Xbox One版Win10首个预览版9月份发布
- 如何在textarea文本输入区内实现换行
- Win10 Build 9901系统更新 预览版新版本下载
- McAfee Framework存在远程格式串处理漏洞
- Win10家庭版今日(7月30)正式在中国官方商城开卖
- Win10 Mobile预览版更新完10536.1000后才收到10536.100
- Win10 RS2更新了什么-Win10 RS2最终版本号1704首曝
- Windows7如何查看回收站对应的文件夹有哪些方法
- Win10让Charms栏回归桌面的方法教程
- 取消Windows XP系统开机启动画面的小技巧
- win8系统怎么下载安装USB百兆网卡?
- XP系统下磁盘空间变少了怎么办?XP系统磁盘空间