1、常规INSERT写法

 

INSERT INTO ... VALUES (...); INSERT INTO 表名( `字段1`, `字段2`) VALUES ('字段1的值', '字段2的值');

2、SELECT语句返回值INSERT


INSERT INTO ...VALUES (..., (select ...)); INSERT INTO 表名1(`字段1`, `字段2`) VALUES (字段1的值, (select 查询字段 from 表名2 where 条件));

也可以变化为查询多个字段,再新增数据


INSERT INTO ...VALUES (select ...); INSERT IGNORE INTO `表名1` ( `字段1`, `字段2` ) SELECT `字段3` AS 字段1, '字段4' AS 字段2 FROM `表名2` WHERE 条件 注意:查询出来必须只有一个行

3、批量多行INSERT


INSERT INTO ... VALUES (...), (...),(...); INSERT INTO 表名(字段1, 字段2) VALUES (字段1数据, 字段2数据), (字段1数据, 字段2数据), (字段1数据, 字段2数据);

或者多行查询后新增


INSERT INTO ... VALUES (...,select...), (...,select...),(...,select...);

INSERT INTO 表名1(`字段1`, `字段2`) VALUES (字段1的值, (select 查询字段 from 表名2 where 条件)), (字段1的值, (select 查询字段 from 表名3 where 条件)), (字段1的值, (select 查询字段 from 表名4 where 条件));

或者使用union all:


INSERT INTO ... (SELECT ...,(select ...) ) union all (SELECT ...,(select ...) ) union all (SELECT ...,(select ...) );
INSERT INTO 表名1 (`字段1`, `字段2`) (SELECT 字段1的值,(select 查询字段 from 表名2 where 条件) FROM 表名3 WHERE 条件) union all (SELECT 字段1的值,(select 查询字段 from 表名2 where 条件) FROM 表名3 WHERE 条件) union all (SELECT 字段1的值,(select 查询字段 from 表名3 where 条件) FROM 表名4 WHERE 条件);

SQL INSERT批量插入方式的更多相关文章

  1. 【java】[sql]使用Java程序向MySql数据库插入一千万条记录,各种方式的比较,最后发现insert批量插入方式对效率提升最明显

    我的数据库环境是mysql Ver 14.14 Distrib 5.6.45, for Linux (x86_64) using EditLine wrapper 这个数据库是安装在T440p的虚拟机 ...

  2. 【JDBC】使用Spring提供的JDBCTemplate通过Statement向MySql数据库插入千万条数据,耗时4m55s,使用insert语句批量插入方式二

    这回依然是使用 insert批量插入这种方式 insert into emp(name,age,cdate) values ('A' , 20, '2019-10-13 00:00:00'), ('B ...

  3. INSERT: 批量插入结果集方式

    INSERT: 批量插入结果集 insert into table select x,y from A UNION select z,k from B ; insert into table sele ...

  4. SQL 2005批量插入数据的二种方法

    SQL 2005批量插入数据的二种方法 Posted on 2010-07-22 18:13 moss_tan_jun 阅读(2635) 评论(2) 编辑 收藏 在SQL Server 中插入一条数据 ...

  5. 【MySQL】insert批量插入优化方案

    对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长.特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久.因此,优化数据库插入性能是很有意义的. ...

  6. SQL Server 批量插入数据方案 SqlBulkCopy 的简单封装,让批量插入更方便

    一.Sql Server插入方案介绍 关于 SqlServer 批量插入的方式,有三种比较常用的插入方式,Insert.BatchInsert.SqlBulkCopy,下面我们对比以下三种方案的速度 ...

  7. SQL Server 批量插入数据的两种方法

    在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题.下面介绍 SQL Server支持的两种批 ...

  8. SQL Server 批量插入数据的两种方法(转)

    此文原创自CSDN TJVictor专栏:http://blog.csdn.net/tjvictor/archive/2009/07/18/4360030.aspx 在SQL Server 中插入一条 ...

  9. 转:SQL Server 批量插入数据的两种方法

    在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题.下面介绍SQL Server支持的两种批量 ...

  10. SQL Server 批量插入

    使用场景 在项目中,涉及到数据库表变更时,可能会需要将一个或多个表中的数据迁移到另一个表中. 这时用sql去执行会很方便! sql语句 //SQL批量插入 create table #ttableNa ...

随机推荐

  1. ArchLinux安装后常见问题的解决

    Q:UEFI引导grub-install报错:variables are not support on this system A:进入安装u盘的时候是传统引导模式,传统模式下无法安装UEFI启动,解 ...

  2. Docker Inspect 模板

    Docker 使用Go 模板,您可以使用它来操作某些命令和日志驱动程序的输出格式. Docker 提供了一组基本函数来操作模板元素.所有这些示例都使用该docker inspect命令,但许多其他 C ...

  3. C# HttpClient 流式响应

    有些时候需要边请求边显示响应内容: 用httpClient.SendAsync(httpreq, HttpCompletionOption.ResponseHeadersRead); private ...

  4. c# WindowsCommunityToolkit--- Shade Animation

    WindowsCommunityToolkit: https://github.com/CommunityToolkit/WindowsCommunityToolkit You can also pr ...

  5. 支付宝分布式事务服务-DTS

    分布式事务服务简介 注意:为向用户提供更加优质的服务,蚂蚁金融云已对中间件产品完成进一步升级改造,并计划于 2018 年 3 月 31 日下线本产品. 分布式事务服务(Distributed Tran ...

  6. JVM-总结列表

    第一章 JVM内存结构 1.为什么要了解JVM内存管理机制 JVM自动的管理内存的分配与回收,这会在不知不觉中浪费很多内存,导致JVM花费很多时间去进行垃圾回收(GC) 内存泄露,导致JVM内存最终不 ...

  7. 如何快速的开发一个完整的iOS直播app(采集篇)

    作者:袁峥链接:https://www.jianshu.com/p/c71bfda055fa来源:简书著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 开发一款直播app,首先需要 ...

  8. jdk并发包源码解析

    一.总括 java底层并发包,笔者将该包大致分成3个层次. 1.基础依赖: 共享变量volatile:有利于线程可见性.Unsafe类:CAS(Compare and Swap)比较并交换,用于并发下 ...

  9. HTTP劫持

    HTTP劫持 想了解什么是HTTPS,要先知道什么是HTTP HTTP HTTP是一个基于TCP/IP通信协议来传递数据的协议,传输的数据类型为HTML文件,图片文件,查询结果等,一般基于B/S架构, ...

  10. ctfshow--web2 sql注入

    这题是考sql注入,我们先用个万能语句注入 发现它上面会出现 欢迎你,ctfshow 那么这就很明显了,这个用户的名字就是ctfshow 那么猜测flag会不会是在flag的用户里面呢我们提交一下 如 ...