`

MySQL 数据库怎样把一个表的数据插入到另一个表

阅读更多
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
分享到:
评论

相关推荐

    88秒插入1000万条数据到MySQL数据库表的操作方法

    其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (4232009 > ...

    mysql数据库实验报告 数据表的操作

    1. 插入数据:使用`INSERT INTO`命令将数据插入到表中。 2. 删除数据:使用`DELETE FROM`命令删除满足特定条件的记录。 3. 修改数据:使用`UPDATE`命令更新表中已存在的记录。 五、表联系的创建与修改 1. 多对多...

    MySQL数据库:使用NAVICAT工具更新数据.pptx

    MySQL数据库是世界上最受欢迎的开源关系型...通过本课程的学习,你应该能够自信地使用Navicat进行数据插入、修改和删除,从而更好地管理和维护你的MySQL数据库。感谢你的学习,祝你在数据库管理的道路上越走越远!

    读取Excle表格中的数据,并插入到mysql数据库中

    要将DataFrame中的数据插入MySQL数据库,首先需要安装`mysql-connector-python`库,它提供了连接MySQL数据库的接口。安装命令如下: ``` pip install mysql-connector-python ``` 接下来,你可以创建数据库连接...

    C# 连接MySql数据库,显示数据表

    在C#编程中,连接MySQL数据库并显示数据表是一个常见的任务,尤其对于初学者来说,了解这个过程至关重要。本文将详细讲解如何使用C#连接MySQL数据库,并将数据映射到界面上显示。 首先,我们需要安装必要的库。在C#...

    excel表转换为mysql数据库

    - 创建MySQL数据库和表:在MySQL环境中,创建一个新的数据库并定义一个表结构,确保字段类型与Excel中的数据类型相匹配。 - 导入CSV数据:使用MySQL的`LOAD DATA INFILE`命令,将CSV文件导入到已创建的表中。这一...

    C#操作Mysql创建数据库,数据表,增、删、改数据

    这个库允许我们通过ADO.NET接口与Mysql数据库进行通信。在Visual Studio 2008中,可以通过NuGet包管理器来安装这个库,或者手动下载并添加到项目的引用中。 创建数据库的过程通常涉及到建立一个连接字符串,连接到...

    java实现Excel数据导入到mysql数据库.zip

    本项目"java实现Excel数据导入到mysql数据库"旨在利用Java技术将Excel表格中的数据高效地导入到MySQL数据库,并且在数据库中存在相同数据时进行更新,同时也支持将数据库中的数据导出到Excel表中。这个过程涉及到多...

    串口数据采集入MySQL数据库V2.0

    总的来说,“串口数据采集入MySQL数据库V2.0”是一个集成串口通信和数据库管理的解决方案,旨在帮助用户高效地收集、存储和分析来自各种串口设备的数据。通过理解并充分利用这一系统,用户能够更好地利用现场数据,...

    国家开放大学 MySQL数据库应用 实验训练3 数据增删改操作

    实验中,学生将学习使用 Insert 语句进行数据插入、Delete 语句删除数据、TRUNCATE TABLE 语句清空表数据、Update 语句修改数据。 1. 数据插入操作 在实验中,学生将学习使用 Insert 语句插入数据,包括单记录插入...

    美国城市地区Mysql数据库

    【标题】"美国城市地区Mysql数据库"是一个包含详尽美国城市和地区信息的数据库,它在MySQL环境中运行,提供了一种高效的方式来存储和查询美国各地的地理数据。 【描述】这个数据库涵盖了美国51个行政区(包括50个州...

    shell脚本实现mysql从原表到历史表数据迁移

    SELECT` SQL语句,将筛选后的数据插入历史表。 5. **定时任务**:为了实现定时迁移,可以结合`cron`服务来安排脚本定期执行。这需要设置一个cron作业,指定迁移的频率(如每天、每周等)。 6. **日志记录**:为了...

    从一个数据库导入到另一个数据库中

    本文将详细介绍如何将数据从一个数据库导入到另一个数据库中,同时也会涉及到“源码”和“工具”这两个标签所涵盖的相关内容。 首先,我们需要理解数据库的基本概念。数据库是存储和管理数据的系统,它允许我们组织...

    TXT文件数据导入到mysql数据库

    接下来,我们需要创建一个与TXT文件结构匹配的MySQL数据库表。假设我们的TXT文件有三列:ID(整数)、Name(字符串)和Date(日期),那么可以创建如下表结构: ```sql CREATE TABLE `import_data` ( `ID` INT NOT...

    一个工具类搞定批量插入增加数据到Mysql数据库

    只要学我一样编写这么一个工具类便可以实现批量插入多条数据,百条,千条,万条,后期还会继续优化增加数据时的速度!有点代码基础的保证能看懂,此项目已经有了前端界面你可以直接的导入然后运行测试既可以了,表...

    JAVA串口助手接收数据并解析数据存入MySQL数据库中

    在本文中,我们将深入探讨如何使用Java开发一个串口助手应用程序,该程序能接收来自串行端口的数据并将其解析后存储到MySQL数据库中。首先,我们需要了解串口通信的基本概念,然后学习Java如何处理串口输入,接着是...

    pbootcms数据sqlite转mysql数据库

    标题 "pbootcms数据sqlite转mysql数据库" 涉及的是一个常见的数据库迁移过程,从SQLite数据库系统转换到MySQL数据库系统。这个过程在网站或应用的开发和维护中经常遇到,尤其是在更换数据库服务或者需要更强大的...

    实验训练1 在MySQL中创建数据库和表.docx

    "MySQL数据库创建和表创建" 本教程将指导您在MySQL中创建数据库和表,首先需要安装和配置MySQL数据库。 1. MySQL的安装和配置 在安装MySQL之前,需要下载MySQL安装文件,例如mysql-5.5.12-win32.msi。运行该程序...

    MySQL数据库-RevD.pdf

    MySQL数据库概览 MySQL是由瑞典MySQL AB公司开发的小型数据库管理系统,它属于开源软件范畴,意味着其源代码是开放的,可以被公众查看和修改。MySQL广泛应用于从大型企业系统到专用的嵌入式应用系统中,支持各种不同...

Global site tag (gtag.js) - Google Analytics