這篇文章給大家分享的是有關(guān)MySQL刪除數(shù)據(jù)庫中重復(fù)記錄的方法的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)科技有限公司專業(yè)互聯(lián)網(wǎng)基礎(chǔ)服務(wù)商,為您提供四川雅安服務(wù)器托管,高防服務(wù)器,成都IDC機(jī)房托管,成都主機(jī)托管等互聯(lián)網(wǎng)服務(wù)。
mysql刪除數(shù)據(jù)庫中重復(fù)記錄的步驟:1、統(tǒng)計(jì)重復(fù)數(shù)據(jù);2、使用“SELECT DISTINCT”語句過濾重復(fù)數(shù)據(jù);3、在數(shù)據(jù)表中添加INDEX(索引)和 PRIMAY KEY(主鍵)來刪除表中的重復(fù)記錄。
對于常規(guī)的MySQL數(shù)據(jù)表中可能存在重復(fù)的數(shù)據(jù),有些情況是允許重復(fù)數(shù)據(jù)的存在,有些情況是不允許的,這個(gè)時(shí)候我們就需要查找并刪除這些重復(fù)數(shù)據(jù),以下是具體的處理方法!
方法一:防止表中出現(xiàn)重復(fù)數(shù)據(jù)
當(dāng)表中未添加數(shù)據(jù)時(shí),可以在MySQL數(shù)據(jù)表中設(shè)置指定的字段為PRIMARY KEY(主鍵) 或者 UNIQUE(***) 索引來保證數(shù)據(jù)的***性。
例如在學(xué)生信息表中學(xué)號no不允許重復(fù),需設(shè)置學(xué)號no為主鍵,且默認(rèn)值不能為NULL。
CREATE TABLE student ( no CHAR(12) NOT NULL, name CHAR(20), sex CHAR(10), PRIMARY KEY (no) );
方法二:過濾刪除重復(fù)值
對于數(shù)據(jù)表中原有的數(shù)據(jù),想要去除重復(fù)數(shù)據(jù)需要經(jīng)過重復(fù)數(shù)據(jù)查找、過濾以及刪除等步驟。
1. 統(tǒng)計(jì)重復(fù)數(shù)據(jù)
mysql> SELECT COUNT(*) as repetitions,no -> FROM student -> GROUP BY no -> HAVING repetitions > 1;
以上查詢語句將返回student表中重復(fù)的記錄數(shù)。
2. 過濾重復(fù)數(shù)據(jù)
如果需要讀取不重復(fù)的數(shù)據(jù)可以在SELECT 語句中使用 DISTINCT 關(guān)鍵字來過濾重復(fù)數(shù)據(jù)。
mysql> SELECT DISTINCT no -> FROM student;
也可以使用 GROUP BY 來讀取數(shù)據(jù)表中不重復(fù)的數(shù)據(jù)
mysql> SELECT no -> FROM student -> GROUP BY (no);
3. 刪除重復(fù)數(shù)據(jù)
刪除數(shù)據(jù)表中重復(fù)數(shù)據(jù),可以使用以下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;
也可以在數(shù)據(jù)表中添加INDEX(索引)和 PRIMAY KEY(主鍵)來刪除表中的重復(fù)記錄,方法如下:
mysql> ALTER IGNORE TABLE student -> ADD PRIMARY KEY (no);
感謝各位的閱讀!關(guān)于mysql刪除數(shù)據(jù)庫中重復(fù)記錄的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
新聞名稱:mysql刪除數(shù)據(jù)庫中重復(fù)記錄的方法
瀏覽地址:http://chinadenli.net/article34/ppjose.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、用戶體驗(yàn)、App設(shè)計(jì)、做網(wǎng)站、全網(wǎng)營銷推廣、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)