MySQL中表格的自我复制,与复制表格

 先创建一个空表,my_tab01

CREATE TABLE my_tab01
	(id INT ,
	`name` VARCHAR(32),
	sal DOUBLE,
	job VARCHAR(32),
	deptno INT
	);
SELECT * FROM my_tab01;


91a0fc392b0642bdbd6310bf751b560e.png

准备一张有数据的表格:

MySQL中表格的自我复制,与复制表格_第1张图片 将另一张表格的数据插入到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;

 MySQL中表格的自我复制,与复制表格_第2张图片

查询结构如下:

MySQL中表格的自我复制,与复制表格_第3张图片

现在进行表格的自我复制:
 

-- 2.现在进行表格的自我复制
INSERT INTO my_tab01
	SELECT * FROM my_tab01;

查询结果如下: 

MySQL中表格的自我复制,与复制表格_第4张图片

复制表操作: 

1.复制表的结构:

CREATE TABLE my_tab02 LIKE emp; -- 把emp表的结构(列),复制到m_tab02

MySQL中表格的自我复制,与复制表格_第5张图片

2.现在进行表格的内容复制

INSERT INTO my_tab02
	SELECT * FROM emp;

MySQL中表格的自我复制,与复制表格_第6张图片

 或者一句搞定:

CREATE TABLE my_tab02
	SELECT * 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_tmp
	SELECT DISTINCT * FROM my_tab02;
-- 3.清除掉 my_tab02 记录
DELETE FROM my_tab02;

af20d13cacc5425f88917b0135507a1d.png

-- 4.把my_tmp表 的记录复制到 my_tab02
INSERT INTO my_tab02
	SELECT * FROM my_tmp;

 MySQL中表格的自我复制,与复制表格_第7张图片

-- 5.drop 掉 临时表 my_tmp
DROP TABLE my_tmp;
	

 

 

 

你可能感兴趣的:(MySQL练习,mysql,数据库)