SQL批量删除与批量插入

Posted 山高我为峰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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













以上是关于SQL批量删除与批量插入的主要内容,如果未能解决你的问题,请参考以下文章

使用“一条”SQL语句完成批量插入和批量删除操作

使用“一条”SQL语句完成批量插入和批量删除操作

删除然后批量插入时的 SQL 死锁

sql server有批量插入和批量更新的sql语句吗

Java--MyBatis批量插入批量更新和批量删除

批量执行SQL语句,进行删除,插入或者更改。