先创建一个空表,my_tab01
CREATE TABLE my_tab01(id INT ,`name` VARCHAR(32),sal DOUBLE,job VARCHAR(32),deptno INT);
SELECT * FROM my_tab01;
准备一张有数据的表格:
将另一张表格的数据插入到my_tab01的表格中:
-- 演示如何自我复制
-- 1.先把emp表的记录复制到 my_tab`emp`01
INSERT INTO my_tab01(id,`name`,sal,job,deptno)SELECT empno,ename,sal,job,deptno FROM emp;
查询结构如下:
现在进行表格的自我复制:
-- 2.现在进行表格的自我复制
INSERT INTO my_tab01SELECT * FROM my_tab01;
查询结果如下:
复制表操作:
1.复制表的结构:
CREATE TABLE my_tab02 LIKE emp; -- 把emp表的结构(列),复制到m_tab02
2.现在进行表格的内容复制
INSERT INTO my_tab02SELECT * FROM emp;
或者一句搞定:
CREATE TABLE my_tab02SELECT * FROM emp;
现在进行表格的去重:
#表格的去重
-- 思路:
-- 1.先创建一张临时表 my_tmp,该表的结构和my_tab02一样
-- 2.把my_tmp的记录通过distinct关键字 处理后 把记录复制到 my_tmp
-- 3.清除掉 my_tab02 记录
-- 4.把my_tmp表 的记录复制到 my_tab02
-- 5.drop 掉 临时表 my_tmp
-- 1.先创建一张临时表 my_tmp,该表的结构和my_tab02一样
CREATE TABLE my_tmp LIKE my_tab02;
-- 2.把my_tmp的记录通过distinct关键字 处理后 把记录复制到 my_tmp
INSERT INTO my_tmpSELECT DISTINCT * FROM my_tab02;
-- 3.清除掉 my_tab02 记录
DELETE FROM my_tab02;
-- 4.把my_tmp表 的记录复制到 my_tab02
INSERT INTO my_tab02SELECT * FROM my_tmp;
-- 5.drop 掉 临时表 my_tmp
DROP TABLE my_tmp;