首頁  >  文章  >  資料庫  >  mysql主鍵索引和普通索引之間的差異是什麼

mysql主鍵索引和普通索引之間的差異是什麼

青灯夜游
青灯夜游原創
2019-05-08 11:22:3820917瀏覽

索引用來快速地尋找那些具有特定值的記錄,所有MySQL索引都以B-樹的形式保存。 MySQL提供多種索引類型可供選擇:一般索引 、唯一性索引、主鍵索引  、全文索引等等。下面這篇文章就來給大家介紹一下主鍵索引和普通索引之間的區別 ,希望對你們有所幫助。

mysql主鍵索引和普通索引之間的差異是什麼

普通索引 

普通索引是最基本的索引類型,而且它沒有唯一性之類的限制。普通索引可以透過以下幾種方式建立: 

建立索引,例如

CREATE INDEX <索引的名字> ON tablename (列的列表);

修改表,例如

ALTER TABLE tablename ADD INDEX [索引的名字] (列的列表);

建立表的時候指定索引,例如

CREATE TABLE tablename ( [...], INDEX [索引的名字] (列的列表) );

主鍵索引 

主鍵是一種唯一性索引,但它必須指定為「PRIMARY KEY」。

主鍵一般在建立表格的時候指定,例如

CREATE TABLE tablename ( [...], PRIMARY KEY (列的列表) );

但是,我們也可以透過修改表格的方式加入主鍵,例如「ALTER TABLE tablename ADD PRIMARY KEY (列的清單); 」。每個表只能有一個主鍵。

區別

1、普通索引是最基本的索引類型,沒有任何限制,值可以為空,僅加速查詢。普通索引是可以重複的,一個表格中可以有多個普通索引。

2、主鍵索引是一種特殊的唯一索引,一個表格只能有一個主鍵,不允許有空值;索引列的所有值都只能出現一次,也就是必須唯一。簡單來說:主鍵索引是加速查詢 列值唯一(不可以有null) 表中只有一個。

以上是mysql主鍵索引和普通索引之間的差異是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn