MySQL 关于表复制 insert into 语法的详细介绍

编程学习 2025-05-15 08:45www.dzhlxh.cn编程入门

假设我们有两张表: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);

```

Copyright © 2016-2025 www.dzhlxh.cn 金源码 版权所有 Power by

网站模板下载|网络推广|微博营销|seo优化|视频营销|网络营销|微信营销|网站建设|织梦模板|小程序模板