成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

面試官:在使用MySQL數(shù)據(jù)庫時,遇到重復(fù)數(shù)據(jù)怎么處理?

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

前言

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

[[272933]]

注意:

這篇文章不是數(shù)據(jù)庫系列的正式文章,有關(guān)mysql、MongoDB、redis、oracle等數(shù)據(jù)庫系列的文章正在整理中。

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

問題

在我們的mysql數(shù)據(jù)庫中,經(jīng)常會出現(xiàn)一些重復(fù)的數(shù)據(jù),有些情況我們允許重復(fù)數(shù)據(jù)的存在,但有時候我們也需要刪除這些重復(fù)的數(shù)據(jù)。 我們?nèi)绾稳ヌ幚砟?

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

也就是說我們再設(shè)計表的時候,就應(yīng)該對這些數(shù)據(jù)設(shè)置一個UNIQUE 索引,在插入的時候就可以保證其唯一性,也就不存在有重復(fù)的數(shù)據(jù)了。當(dāng)然你也可以直接設(shè)置為PRIMARY KEY(主鍵)。效果也是一樣的。 我們看一個案例:下表中無索引及主鍵,所以該表允許出現(xiàn)多條重復(fù)記錄。

面試官:在使用mysql數(shù)據(jù)庫時,遇到重復(fù)數(shù)據(jù)怎么處理?

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

1、設(shè)置雙主鍵模式

面試官:在使用mysql數(shù)據(jù)庫時,遇到重復(fù)數(shù)據(jù)怎么處理?

現(xiàn)在就無法插入重復(fù)數(shù)據(jù)了。

2、添加unique索引

面試官:在使用mysql數(shù)據(jù)庫時,遇到重復(fù)數(shù)據(jù)怎么處理?

這兩種看起來形式好像有一點(diǎn)區(qū)別,但是能起到相同的作用。此時我們可以插入兩條重復(fù)的數(shù)據(jù),會發(fā)現(xiàn)報錯。

當(dāng)然我們還可以在數(shù)據(jù)庫中去驗證一下:

面試官:在使用mysql數(shù)據(jù)庫時,遇到重復(fù)數(shù)據(jù)怎么處理?

在這里我們統(tǒng)計的是 first_name 和 last_name的重復(fù)記錄數(shù),上面已經(jīng)用兩種方法設(shè)置了,這里肯定就是0了。

方法二:在插入時指定能否插入重復(fù)數(shù)據(jù)

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

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

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

我們還是舉例說明:

面試官:在使用mysql數(shù)據(jù)庫時,遇到重復(fù)數(shù)據(jù)怎么處理?

現(xiàn)在我們看出來了吧,也就是說在執(zhí)行第一條插入操作的時候,看到數(shù)據(jù)庫沒有,則直接插入一條新紀(jì)錄,因此一行記錄受到影響,但是在第二次插入的時候,數(shù)據(jù)庫已經(jīng)有一條一樣的了,因此便不會插入了,0行受到影響。 當(dāng)然了還有一個指令也可以完成類似于insert ignore into相似的功能,那就是replace into。他表示的是如果存在primary 或 unique相同的記錄,則先刪除掉。再插入新記錄。

方法三:過濾重復(fù)數(shù)據(jù)

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

面試官:在使用mysql數(shù)據(jù)庫時,遇到重復(fù)數(shù)據(jù)怎么處理?

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

面試官:在使用mysql數(shù)據(jù)庫時,遇到重復(fù)數(shù)據(jù)怎么處理?

方法四:刪除重復(fù)數(shù)據(jù)

這種情況其實(shí)就相當(dāng)于,在水的終點(diǎn)處去解決??聪旅鎠ql語句:

面試官:在使用mysql數(shù)據(jù)庫時,遇到重復(fù)數(shù)據(jù)怎么處理?

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

面試官:在使用mysql數(shù)據(jù)庫時,遇到重復(fù)數(shù)據(jù)怎么處理?

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

責(zé)任編輯:華軒 來源: 百家號
相關(guān)推薦

2025-05-28 00:00:01

MySQL場景索引

2021-01-26 13:40:44

mysql數(shù)據(jù)庫

2024-09-19 08:10:54

2020-09-24 06:39:58

MySQL數(shù)據(jù)庫

2010-05-07 15:48:38

Oracle數(shù)據(jù)庫

2022-03-30 07:28:24

MySQL數(shù)據(jù)庫ACID

2024-01-04 10:00:13

數(shù)據(jù)庫性能

2021-07-06 07:08:18

管控數(shù)據(jù)數(shù)倉

2009-01-11 17:32:03

Oracle數(shù)據(jù)庫重復(fù)數(shù)據(jù)

2011-03-14 15:47:33

Oracle數(shù)據(jù)庫

2019-10-21 09:55:12

數(shù)據(jù)庫PostgreSQL Oracle

2025-06-26 08:22:03

2025-06-13 02:10:00

MySQL大表業(yè)務(wù)場景

2024-12-04 14:56:10

2024-10-16 17:04:13

2010-04-08 16:28:07

Oracle數(shù)據(jù)庫

2021-10-14 06:51:55

數(shù)據(jù)庫SQL

2022-12-05 10:47:08

RocketMQ灰度消息

2018-10-22 14:28:26

面試官數(shù)據(jù)公司

2010-08-27 10:53:14

面試
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 99精品国产一区二区青青牛奶 | 国产精品一区久久久 | 久久一区二区三区电影 | 免费的网站www | 久久久久久久久久久成人 | 欧美日韩精品久久久免费观看 | 91成人在线| 成人在线视频观看 | 久久天天躁狠狠躁夜夜躁2014 | 欧美中文字幕在线观看 | 黄视频免费观看 | 午夜色婷婷 | 久久精品中文 | a级黄色毛片免费播放视频 国产精品视频在线观看 | 国产黄色小视频在线观看 | 日韩成人在线免费观看 | 中国一级特黄真人毛片 | 91亚洲免费| 久久综合一区二区 | 国产高清免费在线 | 成av人电影在线 | 毛片在线免费播放 | 日韩一区二区三区在线视频 | 日韩一区二| 国产成人综合久久 | 亚州av | 一级毛片视频在线观看 | 一级片网站视频 | 国产探花在线精品一区二区 | 曰韩一二三区 | 99国产精品视频免费观看一公开 | av片免费观看 | 色婷婷av一区二区三区软件 | 国产精品视频久久 | 视频在线h | 中文字幕日韩欧美一区二区三区 | 大学生a级毛片免费视频 | 美女在线视频一区二区三区 | 91传媒在线观看 | 亚洲香蕉在线视频 | 国产小视频在线 |