溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql數(shù)據(jù)庫(kù)怎么去重復(fù)數(shù)據(jù)

發(fā)布時(shí)間:2020-09-23 16:18:58 來(lái)源:億速云 閱讀:203 作者:Leah 欄目:編程語(yǔ)言

本篇文章給大家分享的是有關(guān)mysql數(shù)據(jù)庫(kù)怎么去重復(fù)數(shù)據(jù),小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

mysql數(shù)據(jù)庫(kù)去重復(fù)數(shù)據(jù)的方法:

方法一:防止表中出現(xiàn)重復(fù)數(shù)據(jù)

當(dāng)表中未添加數(shù)據(jù)時(shí),可以在MySQL數(shù)據(jù)表中設(shè)置指定的字段為PRIMARY KEY(主鍵) 或者 UNIQUE(唯一) 索引來(lái)保證數(shù)據(jù)的唯一性。

例如在學(xué)生信息表中學(xué)號(hào)no不允許重復(fù),需設(shè)置學(xué)號(hào)no為主鍵,且默認(rèn)值不能為NULL。

CREATE TABLE student 
( 
no CHAR(12) NOT NULL, 
name CHAR(20), 
sex CHAR(10), 
PRIMARY KEY (no) 
);

方法二:過(guò)濾刪除重復(fù)值

對(duì)于數(shù)據(jù)表中原有的數(shù)據(jù),想要去除重復(fù)數(shù)據(jù)需要經(jīng)過(guò)重復(fù)數(shù)據(jù)查找、過(guò)濾以及刪除等步驟。

1、統(tǒng)計(jì)重復(fù)數(shù)據(jù)

mysql> SELECT COUNT(*) as repetitions,no 
-> FROM student 
-> GROUP BY no 
-> HAVING repetitions > 1;

以上查詢語(yǔ)句將返回student表中重復(fù)的記錄數(shù)。

2、過(guò)濾重復(fù)數(shù)據(jù)

如果需要讀取不重復(fù)的數(shù)據(jù)可以在SELECT 語(yǔ)句中使用 DISTINCT 關(guān)鍵字來(lái)過(guò)濾重復(fù)數(shù)據(jù)。

mysql> SELECT DISTINCT no 
-> FROM student;

也可以使用 GROUP BY 來(lái)讀取數(shù)據(jù)表中不重復(fù)的數(shù)據(jù)

mysql> SELECT no 
-> FROM student 
-> GROUP BY (no);

3、刪除重復(fù)數(shù)據(jù)

刪除數(shù)據(jù)表中重復(fù)數(shù)據(jù),可以使用以下SQL語(yǔ)句:

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;

也可以在數(shù)據(jù)表中添加INDEX(索引)和 PRIMAY KEY(主鍵)來(lái)刪除表中的重復(fù)記錄,方法如下:

mysql> ALTER IGNORE TABLE student 
-> ADD PRIMARY KEY (no);

以上就是mysql數(shù)據(jù)庫(kù)怎么去重復(fù)數(shù)據(jù),小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI