primary key主鍵與unique鍵的區別以及作用?


primary key主鍵與unique鍵的區別以及作用?

2016-11-20/郝/

廢話少說/長話短說

共同作用是為了約束字段/建立索引/提高查詢效率

      mysql主鍵的屬性:

         1.主鍵具有唯一性:是指一張表里只能有一個主鍵;

         2.主鍵作用:主鍵primary key是為了唯一標識一個字段,使其唯一且不能為NULL,自動生成索引;

         3.隱含定義:如果這些列沒有被明確地定義為NOT NULL,MySQL會隱含地定義這些列。

            4.主鍵其實也是索引,甚至在MySQL的術語里面“鍵”就等於“索引”

       UNIQUE鍵的屬性:

         1.唯一性:定義了UNIQUE約束的字段中不能包含重復值,

         2.可為空:在UNIQUE約束的字段上可以包含空值.

           3.擴展:unique就是唯一,當你需要限定你的某個表字段每個值都唯一,沒有重復值時使用.

          比如說,如果你有一個person_Info表,並且表中有個身份證的column,那么你就可以指定該字段unique.

    

關系:主鍵=NOT NULL +UNIQUE鍵的結合;

    NOT NULL和UNIQUE約束最好的結合。如果這些列沒有被明確地定義為NOT NULL,MySQL會隱含地定義這些列。

 

區別: 

  (1) 唯一性約束所在的列允許空值,但是主鍵約束所在的列不允許空值。
  (2) 可以把唯一性約束放在一個或者多個列上,這些列或列的組合必須有唯一的。但是,唯一性約束所在的列並不是表的主鍵列。
  (3) 唯一性約束強制在指定的列上創建一個唯一性索引。在默認情況下,創建唯一性的非聚簇索引,但是,也可以指定所創建的索引是聚簇索引。

  (4)建立主鍵的目的是讓外鍵來引用.

  (5)一個表最多只有一個主鍵,但可以有很多唯一鍵

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM