程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 主鍵與唯一性索引簡析

主鍵與唯一性索引簡析

編輯:MySQL綜合教程


其實指定列的索引就相當於對指定的列進行排序,為什麼要排序呢?因為排序有利於對該列的查詢,可以大大增加查詢效率。(那麼可能有人認為應該對所有的列排序,這樣就可以增加整個數據庫的查詢效率?這樣的想法是錯誤的,原因是建立索引也是要消耗系統資源的,給每個表裡的每個列都建立索引那麼將對系統造成極大的負擔,那就更別提效率了!)---------簡單的說建立一個列的索引,就相當與建立一個列的排序。 
  主鍵其實就是一個索引,但是這個索引跟一般的索引有所不同,不同在於主鍵所在的列裡的每一個的記錄都是唯一的,也可以說不能在主鍵裡出現相同的記錄,在同一個表裡只能有一個主鍵。(主鍵等於索引,索引不一定等於主鍵)----------簡單的說主鍵就是所在列不能出現相同記錄的特殊索引,而且這個索引只能在表裡出現一次。   www.2cto.com   1.主鍵一定是唯一性索引,唯一性索引並不一定就是主鍵;   2.一個表中可以有多個唯一性索引,但只能有一個主鍵;   3.主鍵列不允許空值,而唯一性索引列允許空值。    主鍵在表中有唯一標識的作用,不可重復,不能為空;   當其它表建立外鍵關聯當前表時,只可以關聯主鍵。    唯一索引,確切的說是唯一約束,    create unique index index_id on(id);  是用來限制當前表插入時建立唯一約束的字段不可重復。   一個是做為唯一標識,先唯一後標識;   另一個是插入時做唯一限制。    
      摘自 simonjay2007的專欄

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved