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 语句后面直接跟上要插入的字段的值。
引自:
http://yangfei520.blog.51cto.com/1041581/381568
分享到:
相关推荐
MySQL数据库的创建、查看、删除、使用命令。 表结构创建和修改、表约束的创建和修改; 表数据的插入、删除和修改; 表联系的创建和修改。
其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (4232009 > ...
java实现Excel数据导入到mysql数据库,如果数据库中存在就更新,数据库数据导入到Excel表中。
只要学我一样编写这么一个工具类便可以实现批量插入多条数据,百条,千条,万条,后期还会继续优化增加数据时的速度!有点代码基础的保证能看懂,此项目已经有了前端界面你可以直接的导入然后运行测试既可以了,表...
从TXT文件数据导入到mysql数据库,有相关解析示例TXT文件,然后根据情况插入到数据库表中去。
完整版 MySQL8.0从入门到精通 MySQL数据库教程 第04章 数据表的基本操作(共28页).ppt 完整版 MySQL8.0从入门到精通 MySQL数据库教程 第05章 数据类型和运算符(共17页).ppt 完整版 MySQL8.0从入门到精通 MySQL...
内容概要:本资源介绍了如何从利用Npoi库操作Excel,如相关读取单元格、行,介绍了如何对单元格数据格式进行操作,并分享了如何将Datatable数据导入Mysql数据库,方便项目管理。 阅读建议:此资源以如何读取Excel...
不管是在网站开发还是在应用程序开发中,我们经常会碰到需要将MySQL或MS SQLServer某个表的数据批量导入到另一个表的情况,甚至有时还需要指定导入字段。 本文就将以MySQL数据库为例,介绍如何通过SQL命令行将某个表...
1)掌握 ——使用navicat工具进行数据插入的方法; 2)掌握 ——使用navicat工具进行数据修改的方法; 3)掌握 ——使用navicat工具进行数据删除的方法。 使用navicat工具插入数据 使用navicat工具修改数据 使用...
自己些的一个很小,具有读取excle表格并向Mysql中插入数据
国家开放大学 MySQL数据库应用 实验训练3 数据增删改操作
很详细很有用的PHP操作mysql数据库教程。
(1)表达式:可以是一个常量、变量或一个表达式,也可以是空值NULL,其值的数据类型要与列的数据类型一致。例如,列的数据类型为int,插入的数据是‘aaa’就会出错。当数据为字符型时要用单引号括起。 (2)DEFAULT...
通过C#调用CMD.exe,利用MySQL提供的数据库访问接口实现为表添加新的一列数据并给定默认值
小编今天在写一个 将一个数据库的表数据 导入到 另一个数据库的表的时候 我是这么写的 代码如下:<?php header(“Content-type:text/html;charset=utf-8”); $conn = mysql_connect(“localhost”,”root”,””)...
主要给大家介绍C#.net中如何批量插入大量数据到数据库中,本文涉及到C#.net中批量插入数据到数据库中方面的内容,对C#.net批量插入数据到数据库中感兴趣的朋友可以参考下本
当获取过来的是值往数据库插入的时候有相同的就不插入,将不同的插入到数据库中
中国省市区城市列表mysql数据表,可直接导入数据库、可转JSON数据,带行政区划码和经纬度
通过阅读,读者将能够理解数据库的基本概念,学会如何使用MySQL创建数据库和数据表,以及如何进行数据插入、查询、更新和删除等操作。目标是帮助读者建立对MySQL数据库的基本理解,为后续的深入学习打下坚实的基础。...
用java把excel表的数据导入到数据库(可能有些类型还没考虑完全,抽空写的) 简单的思路 一、先获取数据库表的字段名、主键名, 二、读取excel文件的数据(注意:excel文件的数据表字段的顺序与该表的顺序一致,...