数据库表中数据快速去重的方案

GoogleVip8 8月前 ⋅ 451 阅读

// 表复制 CREATE TABLE tab ( id INT, name VARCHAR (32), sal DOUBLE, job VARCHAR (32), deptno INT );

// 把 emp 表中的内容复制到 tab 中 INSERT INTO tab(id, name, sal, job, deptno) SELECT empno, ename, sal, job, deptno FROM emp; SELECT * FROM tab;

// 表的自我复制 // 有时,为了对某个 sql 语句进行效率测试,我们需要海量数据时,可以使用此法为表创建海量数据: INSERT INTO tab SELECT * FROM tab; SELECT COUNT(*) FROM tab;

// 表中数据去重 // 准备1.创建一张和 emp 表结构相同的表 CREATE TABLE emp2 LIKE emp; // 准备2.向 emp2 中重复插入数据 INSERT INTO emp2 SELECT * FROM emp; // 执行两次 // 执行去重 // 1. 创建一张临时表 temp ,该表结构与emp2 结构一样 // 2. 将查找到的 emp2 的去重后的记录复制到 temp 表中 // 3. 删除 emp2 中的所有数据 // 4. 将 temp 表中的数据复制到 emp2 中 // 5. 删除 temp 表 CREATE TABLE temp LIKE emp2; INSERT INTO temp SELECT DISTINCT * FROM emp2; DELETE FROM emp2; INSERT INTO emp2 SELECT * FROM temp; DROP TABLE temp;


全部评论: 0

    我有话说: