1. 程式人生 > 其它 >mysql基礎--表複製與去重

mysql基礎--表複製與去重

mysql基礎--表複製與去重

-- 演示自我複製

-- 建立目標表
CREATE TABLE my_copy
	(id INT,
	`name` VARCHAR(32),
	sal DOUBLE,
	job VARCHAR(32),
	deptno INT);
DESC my_copy
SELECT * FROM my_copy
	
-- 演示自我複製
-- 1.生成原始記錄(查詢到的結果放入)
INSERT INTO my_copy
	(id, `name`, sal, job, deptno)
	SELECT empno, ename, sal, job, deptno FROM emp;
-- 2.自我複製
INSERT INTO my_copy
	SELECT * FROM my_copy;

-- 演示去重
-- 1.建立一張表,複製表結構
CREATE TABLE my_table
	LIKE emp
DESC my_table
SELECT * FROM my_table
-- 2.複製表內容
INSERT INTO my_table
	SELECT * FROM emp;
-- 3.去重
/*
思路
(1).建立一張臨時表,結構和my_table一樣
(2).把my_table的記錄,通過DISTINCT關鍵字處理後複製到臨時表
(3).清除掉my_table的所有記錄
(4).把臨時表複製到my_table
(5).刪除臨時表
*/
1.
CREATE TABLE temp LIKE my_table;
2.
INSERT INTO temp SELECT DISTINCT * FROM my_table
3.
DELETE FROM my_table;
4.
INSERT INTO my_table SELECT * FROM temp
5.
DROP TABLE temp

SELECT * FROM my_table