您当前的位置: 首页 > 数据库教程 > MySQL教程 > MySQL 关于表复制 insert into 语法的详细介绍

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

作者:不详 来源:网络 发布时间: 2014-07-24 17:55 点击:
web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码。下面我以mysql数据库为例分情况一一说明: 两张表:insertTe

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

  web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码。下面我以mysql数据库为例分情况一一说明:

  两张表:insertTest和insertTest2,前者中有测试数据

  复制代码 代码如下:

  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');

  1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法:

  
INSERT INTO 目标表 SELECT * FROM 来源表;

  复制代码 代码如下:

  insert into insertTest select * from insertTest2;

  2.如果只希望导入指定字段,可以用这种方法:

  


  复制代码 代码如下:

  INSERT INTO 目标表 (字段1, 字段2, …) SELECT 字段1, 字段2, … FROM 来源表;

  注意字段的顺序必须一致。

  复制代码 代码如下:

  insert into insertTest2(id) select id from insertTest2;

  3.如果您需要只导入目标表中不存在的记录,可以使用这种方法:

  


  复制代码 代码如下:

  INSERT INTO 目标表

  (字段1, 字段2, …)

  SELECT 字段1, 字段2, …

  FROM 来源表

  WHERE not exists (select * from 目标表

  where 目标表.比较字段 = 来源表.比较字段);

  1>.插入多条记录:

  


  复制代码 代码如下:

  insert into insertTest2

  (id,name)

  select id,name

  from insertTest

  where not exists (select * from insertTest2

  where insertTest2.id=insertTest.id);

  2>.插入一条记录:

  


  复制代码 代码如下:

  insert into insertTest

  (id, name)

  SELECT 100, ‘liudehua'

  FROM dual

  WHERE not exists (select * from insertTest

  where insertTest.id = 100);

  使用 dual 作表名,select 语句后面直接跟上要插入的字段的值。
分享到:
本文"MySQL 关于表复制 insert into 语法的详细介绍"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4