【常用方法推薦】如何刪除MySQL的重複資料?
在使用資料庫時,出現重複資料是常有的情況,但有些情況是允許資料重複的,而有些情況是不允許的,當出現不允許的情況,我們就需要對重複資料進行刪除處理。那麼如何刪除MySQL的重複資料?刪除重複資料的方法有很多種,本文為大家介紹兩種最常見的方法。
方法一:防止表中出現重複資料
當表中未新增資料時,可以在MySQL資料表中設定指定的欄位為PRIMARY KEY(主鍵) 或者UNIQUE(唯一)索引來保證資料的唯一性。
例如在學生資訊表中學號no不允許重複,需設定學號no為主鍵,且預設值不能為NULL。
CREATE TABLE student
(
no CHAR(12) NOT NULL,
name CHAR(20),
sex CHAR(10),
PRIMARY KEY (no)
);
方法二:過濾刪除重複值
對於資料表中原有的資料,想要去除重複資料需要經過重複資料查詢、過濾以及刪除等步驟。
1. 統計重複資料
mysql> SELECT COUNT(*) as repetitions,no
-> FROM student
-> GROUP BY no
-> HAVING repetitions > 1;
以上查詢語句將返回student表中重複的記錄數。
2. 過濾重複資料
如果需要讀取不重複的資料可以在SELECT語句中使用DISTINCT關鍵字來過濾重複資料。
mysql> SELECT DISTINCT no
-> FROM student;
也可以使用 GROUP BY 來讀取資料表中不重複的資料
mysql> SELECT no
-> FROM student
-> GROUP BY (no);
3. 刪除重複資料
刪除資料表中重複資料,可以使用以下SQL語句:
mysql> CREATE TABLE tmp SELECT no, name, sex FROM student GROUP BY (no, sex);
mysql> DROP TABLE student;
mysql> ALTER TABLE tmp RENAME TO student;
也可以在資料表中新增INDEX(索引)和 PRIMAY KEY(主鍵)來刪除表中的重複記錄,方法如下:
mysql> ALTER IGNORE TABLE student
-> ADD PRIMARY KEY (no);
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2920417/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL資料庫中刪除重複記錄的方法總結[推薦]MySql資料庫
- MYSQL中刪除重複記錄的方法薦MySql
- MySQL刪除重複資料MySql
- mysql查詢表裡的重複資料方法和刪除重複資料MySql
- mysql 刪除表中重複的資料MySql
- 刪除重複資料
- Mongodb 刪除重複資料的幾個方法MongoDB
- oracle 刪除重複資料的幾種方法Oracle
- 刪除重複資料的幾個方法(轉)
- mysql表刪除重複記錄方法MySql
- 刪除重複資料的一種高效的方法
- 重複資料刪除和SSD的互補方法
- mongodb刪除重複資料MongoDB
- Oracle查詢重複資料與刪除重複記錄方法Oracle
- mysql 刪除重複項MySql
- excel刪除重複資料保留一條 如何刪掉重複資料只留一條Excel
- mysql 查詢及 刪除表中重複資料MySql
- SQL Server中刪除重複資料的幾個方法SQLServer
- 刪除表裡重複資料
- sqlserver中刪除重複資料SQLServer
- oracle刪除重資料方法Oracle
- Oracle中刪除重複資料的SqlOracleSQL
- PostgreSQL刪除表中重複資料SQL
- 解析postgresql 刪除重複資料案例SQL
- oracle 快速刪除大批量資料方法(全部刪除,條件刪除,刪除大量重複記錄)Oracle
- oracle 快速刪除大批量資料方法(全部刪除,條件刪除,刪除大量重複記錄) 轉Oracle
- 【轉】oracle 快速刪除大批量資料方法(全部刪除,條件刪除,刪除大量重複記錄)Oracle
- oracle重複資料的查詢及刪除Oracle
- Oracle中刪除表中的重複資料Oracle
- Oracle查詢重複資料與刪除重複記錄Oracle
- MySQL刪除表重複記錄的三種方法舉例MySql
- 如何刪除ArrayList中的重複元素
- 工具推薦:搜尋和刪除Windows上重複檔案的神器:AllDupWindows
- MS SQL Server 刪除重複行資料SQLServer
- T-SQL 刪除重複資料SQLSQL
- 海量資料處理_刪除重複行
- 根據rowid刪除重複資料
- 通過ROWID刪除重複資料