您現在的位置是:首頁 > 綜藝首頁綜藝

mysql主鍵索引和普通索引之間的區別是什麼 

由 談醫藥論 發表于 綜藝2021-09-19
簡介修改表,例如ALTERTABLEtablenameADDINDEX[索引的名字] (列的列表)

索引圖什麼意思

普通索引

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

建立索引,例如

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 (列的列表); ”。每個表只能有一個主鍵。

區別

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

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