【Jmeter】JDBC:使用 jmeter 批量在数据库创建 1 万多条数据;批量删除重复数据

版权声明:本文为博主原创文章,欢迎转载,转载须注明出处:By 故三殇 https://blog.csdn.net/qq_39720249/article/details/84524679

目录

一、批量创建1万多条数据

二、批量删除重复数据



一、批量创建1万多条数据

数据库车辆信息表中准备10000多台车的数据:

(1)创建线程组,循环1次:


(2)连接数据池:


(3)添加循环控制器,循环15000次,超过10000是因为接下来的函数会生成重复的车牌号,要去掉重复数据,避免去掉后数据少于10000(模拟新增10000条数据):


(4)新建新增车辆信息JDBC Request:

其中,车牌号运用jmeter的函数助手生成随机5位数,范围在20000~40000之间,20000个随机数,范围大于10000,使得重复的车牌号数据少一点:鄂A${__Random(20000,40000,)}:


(5)运行可生成15000条数据:



二、批量删除重复数据

(1)查询车牌号重复的所有数据:

-- 查询出common_car_info表中car_number重复的数据,car_number升序排列

select * from common_car_info where car_number in (select car_number from common_car_info group by car_number having count(car_number) > 1)
ORDER BY car_number ASC

 


(2)  删除表中多余的重复记录,重复的车牌号数据都不保留:

-- 删除表中多余的重复记录,重复记录是根据单个字段(car_number)来判断,重复的车牌号数据都不保留

DELETE FROM common_car_info 
WHERE car_number IN 
(SELECT car_number FROM (SELECT car_number FROM common_car_info GROUP BY car_number HAVING count(car_number) > 1)e)

 

 


 (3)  查询车牌号重复但不包括id最小的所有数据:

select * from common_car_info
WHERE car_number IN 
(SELECT car_number FROM (SELECT car_number FROM common_car_info GROUP BY car_number HAVING count(car_number) > 1 )e)
AND id NOT IN
(SELECT min(id) FROM (SELECT min(id) FROM common_car_info GROUP BY car_number HAVING count(car_number) > 1)f)

 


(4)删除表中多余的重复记录,重复的车牌号只保留id最那一条的数据:

-- 删除表中多余的重复记录,重复记录是根据单个字段(car_number)来判断,只保留id最小的一条数据
-- 注意:因为用了子查询,所以需要 DELETE 后引用表别名

DELETE C.* FROM common_car_info C
WHERE 
car_number IN 
(SELECT car_number FROM (SELECT car_number FROM common_car_info GROUP BY car_number HAVING count(car_number) > 1 )e)
AND 
id NOT IN
(SELECT min(id) FROM (SELECT min(id) FROM common_car_info GROUP BY car_number HAVING count(car_number) > 1)f)

猜你喜欢

转载自blog.csdn.net/qq_39720249/article/details/84524679
今日推荐