mysql表的复制和去重

一、自我复制数据(蠕虫复制)

在对某个sql语句进行效率测试,需要大量的数据时,可以用这种方法为表创建大量的数据。

CREATE TABLE db28(
 id INT,
 `name` VARCHAR(32),
 sal DOUBLE,
 job VARCHAR(32),
 deptno INT
);
SELECT*FROM db28
-- 把emp表的数据复制到db28
INSERT INTO db28(id,`name`,sal,job,deptno)
       SELECT empno,ename,sal,job,deptno FROM emp
-- 自我复制
INSERT INTO db28 SELECT*FROM db28
SELECT COUNT(*)FROM db28

二、去除表中重复数据

-- 去除表中重复数据
-- 创建表
CREATE TABLE db29 LIKE emp -- 把emp表的结构复制过来
DESC db29
INSERT INTO db29 SELECT*FROM emp
-- 去重
-- 1.创建一张和db29一样的db30的表
CREATE TABLE db30 LIKE db29
-- 2.把db29的数据,用distinct处理后,复制到db30
INSERT INTO db30 SELECT DISTINCT*FROM db29
-- 3.删除db29的数据
DELETE FROM db29
-- 4.把db30的数据复制到db29
INSERT INTO db29 SELECT*FROM db30
-- 删除db30
DROP TABLE db30

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸭鸭老板

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值