自我复制数据(蠕虫复制)
有时,为了对某个sql语句进行效率测试,我们需要海量数据时,可以使用此方法为表创建数据
#表复制和去重
#自我复制数据(蠕虫复制)
#有时为了对某个sql语句进行效率测试,我们需要海量数据时,可以使用此方法为表创建海量数据
use db_02;
CREATE TABLE my_tab01(
id int,
`name` VARCHAR(32),
sal DOUBLE,
job VARCHAR(32),
deptno INT
);
DESC my_tab01;
SELECT * FROM my_tab01;
SELECT COUNT(*) FROM my_tab01;
#演示自我复制
#1.先将emp表的记录复制到my_tab01
INSERT INTO my_tab01
SELECT empno,ename,sal,job,deptno FROM emp;
#2.自我复制
INSERT INTO my_tab01
SELECT * FROM my_tab01;
#创建新表my_tab02
#将emp表的结构复制到my_tab02,并将数据复制到my_tab02,然后去重
CREATE table my_tab02 LIKE emp;
INSERT INTO my_tab02 SELECT * FROM emp;
SELECT * FROM my_tab02;
#表的去重
#1.先创建临时表test,将my_tab02结构复制给test
CREATE TABLE test LIKE my_tab02;
#2.将my_tab02中查询到的去重的结果复制到test
INSERT INTO test SELECT DISTINCT * FROM my_tab02;
#3.清空my_tab02
DELETE FROM my_tab02;
#4.将test表中数据复制到my_tab02
INSERT into my_tab02 SELECT * FROM test;
#5.删除临时表test
drop TABLE test;