一、自我复制数据(蠕虫复制)
在对某个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