日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql重复记录大于十的数据库_面试官:在使用mysql数据库时,遇到重复数据怎么处理?...

發布時間:2025/3/8 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql重复记录大于十的数据库_面试官:在使用mysql数据库时,遇到重复数据怎么处理?... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

前段時間,很多人問我能不能寫一些數據庫的文章,正好自己在測試mysql數據庫性能的時候,出現了一個問題,也就是出現了很多重復的數據,想起來自己long long ago寫過一篇類似的,僅此就拿來總結了一下。如果你在使用mysql的時候也遇到了這個問題,希望能對你有所幫助。

注意:

這篇文章不是數據庫系列的正式文章,有關mysql、MongoDB、redis、oracle等數據庫系列的文章正在整理中。

其實解決能否插入重復數據的問題,一般情況下是有兩個思路,就像治水一樣,第一個就是從源頭,第二個就是在水流經的路上。我們帶著這兩種思路繼續往下看:

問題

在我們的mysql數據庫中,經常會出現一些重復的數據,有些情況我們允許重復數據的存在,但有時候我們也需要刪除這些重復的數據。 我們如何去處理呢?

方法一:防止出現重復數據

也就是說我們再設計表的時候,就應該對這些數據設置一個UNIQUE 索引,在插入的時候就可以保證其唯一性,也就不存在有重復的數據了。當然你也可以直接設置為PRIMARY KEY(主鍵)。效果也是一樣的。

我們看一個案例:下表中無索引及主鍵,所以該表允許出現多條重復記錄。

CREATE TABLE student

(

first_name CHAR(20),

last_name CHAR(20),

sex CHAR(10)

);

目前first_name,last_name是可以重復的,如果不想重復這里有兩個解決辦法:

1、設置雙主鍵模式

CREATE TABLE student

(

first_name CHAR(20) NOT NULL,

last_name CHAR(20) NOT NULL,

sex CHAR(10),

PRIMARY KEY (last_name, first_name)

);

現在就無法插入重復數據了。

2、添加unique索引

CREATE TABLE student

(

first_name CHAR(20) NOT NULL,

last_name CHAR(20) NOT NULL,

sex CHAR(10)

UNIQUE (last_name, first_name)

);

這兩種看起來形式好像有一點區別,但是能起到相同的作用。此時我們可以插入兩條重復的數據,會發現報錯。

當然我們還可以在數據庫中去驗證一下:

SELECT COUNT(*) as repetitions, last_name, first_name

FROM student

GROUP BY last_name, first_name

HAVING repetitions > 1;

在這里我們統計的是 first_name 和 last_name的重復記錄數,上面已經用兩種方法設置了,這里肯定就是0了。

方法二:在插入時指定能否插入重復數據

在這里我們使用的是Insert ignore into 與Insert into指令。

(1)Insert ignore into會忽略數據庫中已經存在的數據,如果數據庫沒有數據,就插入新的數據,如果有數據的話就跳過這條數據。這樣就可以保留數據庫中已經存在數據,達到在間隙中插入數據的目的。

(2)Insert into則直接相反,會直接插入數據,不管數據庫里面是否含有重復數據。

我們還是舉例說明:

insert ignore into student (last_name, first_name) values ( '張三', '李四');

//結果

Query OK, 1 rows affected (0.00 sec)

insert ignore into student (last_name, first_name) values ( '張三', '李四');

//結果

Query OK, 0 rows affected (0.00 sec)

現在我們看出來了吧,也就是說在執行第一條插入操作的時候,看到數據庫沒有,則直接插入一條新紀錄,因此一行記錄受到影響,但是在第二次插入的時候,數據庫已經有一條一樣的了,因此便不會插入了,0行受到影響。

當然了還有一個指令也可以完成類似于insert ignore into相似的功能,那就是replace into。他表示的是如果存在primary 或 unique相同的記錄,則先刪除掉。再插入新記錄。

方法三:過濾重復數據

如果你需要讀取不重復的數據可以在 SELECT 語句中使用 DISTINCT 關鍵字來過濾重復數據。

SELECT DISTINCT last_name, first_name

FROM student

ORDER BY last_name;

你也可以使用 GROUP BY 來讀取數據表中不重復的數據:

SELECT last_name, first_name

FROM student

GROUP BY (last_name, first_name);

方法四:刪除重復數據

這種情況其實就相當于,在水的終點處去解決。看下面sql語句:

//根據student創建一個臨時表,并使用group by過濾了重復數據

CREATE TABLE tmp SELECT last_name, first_name, sex

FROM student;

GROUP BY (last_name, first_name);

//刪除原student表

DROP TABLE student;

//給這個臨時表重新命名

ALTER TABLE tmp RENAME TO stu;

當然你也可以在數據表中添加 INDEX(索引) 和 PRIMAY KEY(主鍵)這種簡單的方法來刪除表中的重復記錄。方法如下:

ALTER IGNORE TABLE student

ADD PRIMARY KEY (last_name, first_name);

OK,解決辦法這么多,相信能解決你的問題。

總結

以上是生活随笔為你收集整理的mysql重复记录大于十的数据库_面试官:在使用mysql数据库时,遇到重复数据怎么处理?...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: a视频免费看 | 久久精品视频免费播放 | 性高潮视频在线观看 | 四虎中文字幕 | 丁香四月婷婷 | 国产无玛 | 日本午夜网 | 日韩av图片 | 大战熟女丰满人妻av | 久久久国产片 | 久久综合加勒比 | 小嫩嫩精品导航 | 日本三级在线视频 | 中文视频一区二区 | 中国a级大片 | 亚洲一区二区三区在线视频观看 | 91丨porny丨在线 | 人妻丰满熟妇av无码区不卡 | www.午夜av| 不卡成人 | 亚洲 欧美 日韩 国产综合 在线 | 亚洲国产天堂av | 7799精品视频天天看 | 一级大黄色片 | 日韩成人在线网站 | 成人二区三区 | kk视频在线观看 | 密臀av一区二区 | 黄色片一区二区三区 | 久久亚洲少妇 | av在线黄色 | 好吊一区二区三区 | 99热在线观看免费精品 | 国产精品国产三级国产普通话蜜臀 | 毛片视频免费播放 | 香蕉尹人网 | 亲子伦视频一区二区三区 | 国产91绿帽单男绿奴 | 色欲无码人妻久久精品 | 九色婷婷 | 久久久久久久久久免费视频 | 三上悠亚久久 | 久久福利免费视频 | 尤物国产视频 | 精品国产乱码久久久久久图片 | 一区二区精品免费 | 打开每日更新在线观看 | av网址在线 | 色小说在线 | 精品亚洲一区二区三区四区五区高 | 国产一区二区视频免费观看 | 亚洲成人偷拍 | 亚洲人成亚洲人成在线观看 | 精品黄色在线观看 | 国产原创麻豆 | 久久精品国产一区二区三区 | 日韩国产精品视频 | 日韩伦理中文字幕 | 96国产精品 | www.日日| 亚洲久久久 | 日韩精品视频播放 | 97伦伦午夜电影理伦片 | 18女人毛片 | 亚洲精品中文字幕在线观看 | 欧美精品电影一区二区 | 午夜天堂精品 | 日韩中出 | 亚洲天堂网在线观看 | 亚洲色成人www永久网站 | 国产小视频自拍 | 色婷五月天 | 天堂在线免费观看视频 | 丰满多毛的大隂户视频 | 精品久久久无码中文字幕 | 久久久久人妻一区 | 欧美精品视 | 蜜臀av性久久久久av蜜臀妖精 | 日韩欧美一区二区在线观看 | 色碰视频 | 中文一区在线 | 亚洲网站在线免费观看 | 日韩激情免费 | 麻豆视频在线播放 | 国产三级第一页 | 久久久国产成人 | 成人黄色国产 | 国产福利专区 | 欧美黑人孕妇孕交 | 永久免费毛片 | 日韩精品一区二区在线观看 | 精品久久久久久久久久久aⅴ | 欧美一区二区在线观看视频 | 美女高潮视频在线观看 | 午夜a区| 波多野结衣之潜藏淫欲 | 亚洲乱码国产乱码精品精的特点 | 亚洲清纯唯美 | 偷偷在线观看免费高清av |