溫馨提示×

溫馨提示×

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

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

mysql有主鍵還需要創(chuàng)建索引嗎

發(fā)布時間:2020-10-10 16:55:42 來源:億速云 閱讀:3224 作者:小新 欄目:MySQL數(shù)據(jù)庫

小編給大家分享一下mysql有主鍵還需要創(chuàng)建索引嗎,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

mysql主鍵不需要建立索引,主鍵具備索引的功能;當(dāng)創(chuàng)建或設(shè)置主鍵的時候,mysql會自動添加一個與主鍵對應(yīng)的唯一索引,不需要再做額外的添加。數(shù)據(jù)庫管理系統(tǒng)對于主鍵會自動生成唯一索引,所以主鍵是一個特殊的索引。

當(dāng)你創(chuàng)建或設(shè)置主鍵的時候,mysql會自動添加一個與主鍵對應(yīng)的唯一索引,不需要再做額外的添加。

如果查詢的條件中沒有用到主鍵,可以將你的查詢字段設(shè)置為索引。如果你想在主鍵上設(shè)置索引的話,主鍵就有索引的功能。

如下圖在mysql中創(chuàng)建的一張表,可以看到CREATE TABLE語句中只設(shè)置了主鍵 PRIMARY KEY,并沒有建立索引的語句,但索引信息處顯示了唯一主鍵索引,這是由mysql自己創(chuàng)建的。

mysql有主鍵還需要創(chuàng)建索引嗎

數(shù)據(jù)庫主鍵和索引的區(qū)別與聯(lián)系

1、主鍵是一定是唯一性索引,但唯一性索引不一定是主鍵。

主鍵就是能夠唯一標(biāo)識表中某一行的屬性或者是屬性組,一個表只能有一個主鍵,但可以有多個候選索引。因?yàn)橹麈I可以唯一標(biāo)識一行記錄,所以可以確保執(zhí)行數(shù)據(jù)更新、刪除的時候不會出現(xiàn)錯誤的。主鍵還經(jīng)常和外鍵構(gòu)成參照完整性約束,防止出現(xiàn)數(shù)據(jù)不一致。數(shù)據(jù)庫管理系統(tǒng)對于主鍵自動生成唯一索引,所以主鍵也是一個特殊的索引。

2、唯一索引標(biāo)識索引值唯一,一個表可以有多個唯一索引,但主鍵只能有一個。

3、主鍵列不能為空,但唯一索引列可以為空。

4、一張表只能有一個主鍵,但可以有多個索引。

通俗舉例來說:主鍵相當(dāng)于一本書的頁碼,索引相當(dāng)于書的目錄。

看完了這篇文章,相信你對mysql有主鍵還需要創(chuàng)建索引嗎有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

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

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

AI