SQL批量删除与批量插入

简介:

批量删除:

DELETE FROM MyTable WHERE ID IN (1,2);

批量插入:

INSERT INTO MyTable(ID,NAME) VALUES(1,'123');
INSERT INTO MyTable(ID,NAME) VALUES(2,'456');
INSERT INTO MyTable(ID,NAME) VALUES(3,'789');

第二种方法,使用UNION ALL来进行插入操作:    
INSERT INTO MyTable(ID,NAME)
SELECT 4,'000'
UNION ALL
SELECT 5,'001'
UNION ALL
SELECT 6,'002' ;
据说要比第一种要快!

第三种方法  
INSERT INTO MyTable(ID,NAME) VALUES(7,'003'),(8,'004'),(9,'005');

Example:

表: leafjob(
leafnum INT NOT NULL PRIMARY KEY,
machine VARCHAR(15) );

删除:delete from leafjob where leafnum in (1,2,4);

插入:

INSERT INTO leafjob (leafnum, machine) values(1, 'r1leaf3'), (2, 'r1leaf22');

insert into leafjob(leafnum, machine) select 4,'000' union all select 1,'r1leaf3' union all select 2,'r1leaf22';

insert into leafjob(leafnum, machine) select 1,'r1leaf3' union select 2,'r1leaf22';

注:性能问题需要具体测试。示例在MySql下测试过,version: 4.1.20

本文转自 zhenjing 博客园博客,原文链接: http://www.cnblogs.com/zhenjing/archive/2011/03/11/1981115.html   ,如需转载请自行联系原作者

相关文章
|
SQL XML 关系型数据库
Mybatis-Plus通过SQL注入器实现真正的批量插入
Mybatis-Plus通过SQL注入器实现真正的批量插入
3256 0
Mybatis-Plus通过SQL注入器实现真正的批量插入
|
2月前
|
SQL 存储 Kubernetes
Seata常见问题之mybatisplus的批量插入方法报SQL错误如何解决
Seata 是一个开源的分布式事务解决方案,旨在提供高效且简单的事务协调机制,以解决微服务架构下跨服务调用(分布式场景)的一致性问题。以下是Seata常见问题的一个合集
128 0
Zp
|
SQL Oracle 关系型数据库
Oracle sql 批量插入 Insert all into
Oracle sql 批量插入 Insert all into
Zp
364 0
|
SQL XML 数据格式
MaBatis:动态SQL使用foreach进行批量插入
MaBatis:动态SQL使用foreach进行批量插入
230 0
|
SQL
MaBatis:动态SQL使用foreach进行批量删除
MaBatis:动态SQL使用foreach进行批量删除
551 0
|
SQL XML Java
Mybatis的foreach实现批量插入sql写法
Mybatis的foreach实现批量插入sql写法
273 0
|
SQL Java 数据库连接
Mybatis的foreach实现批量删除sql写法(上)
Mybatis的foreach实现批量删除sql写法
521 0
|
SQL 数据库
动态批量删除SQL数据库中的表
动态批量删除SQL数据库中的表
189 0
|
SQL Oracle 关系型数据库
SQL语句查询出的数据进行字符串拼接,oracle批量删除数据库用户实例演示
SQL语句查询出的数据进行字符串拼接,oracle批量删除数据库用户实例演示
181 0
SQL语句查询出的数据进行字符串拼接,oracle批量删除数据库用户实例演示
|
关系型数据库 MySQL
MySQL 批量插入表数据 sql
INSERT INTO `swork_info`.`quality_data_app_base_value` (`gmt_create`, `gmt_modified`, `app_id`, `base_value`, `type`) select...
934 0