一、前言
當我們創建一個數據表的時候,經常需要對裡面的欄位加以約束。約束的作用是非常大的,它能防止往數據表中插入錯誤數據,維護資料庫的完整性。下面我們就聊一下數據表中的常見約束。
二、常見約束
1.主鍵約束
1.1 一個數據表中的主鍵只能有一個。
1.2 主鍵起的作用是唯一標識一條記錄(即 不重複+不為空 UNIQUE + NOT NULL)。
1.3 主鍵可以是一個欄位,也可以由多個欄位複合而成。
2.外鍵約束
外鍵用於在兩個表之間建立關係,一個表的外鍵對應另一張表的主鍵,外鍵確保了表與表之間引用的完整性。外鍵可以重複,也可以為空。比如:player_id 在 球員表player 表中是主鍵,但在球員比分表player_score中player_id 為外鍵,關聯到 player 表中。
3.唯一性約束
唯一性約束表明了欄位在表中的數值是唯一的,前面我們講過主鍵是唯一的,但是除了主鍵,我們依舊可以對其他欄位進行唯一性約束。
需要注意的是,唯一性約束和普通索引(NORMAL INDEX)之間是有區別的。唯一性約束= 一個約束 + 普通索引,目的是保證欄位的正確性。而普通索引只是提升數據檢索的速度,並不對欄位的唯一性進行約束。
4.NOT NULL 約束
對欄位定義了 NOT NULL,即表明該欄位不應為空,必須有取值。
5.DEFAULT約束
表明了欄位的默認值。如果在插入數據的時候,這個欄位沒有取值,就設置為默認值。 比如:我們可以對球員的默認性別設置為男性,即DEFAULT 男
6.CHECK 約束
用來檢查特定欄位取值範圍的有效性,CHECK 約束的結果不能為 FALSE,比如我們可以對身高 height 的數值進行 CHECK 約束,必須≥0,且<3,即CHECK(height>=0 AND height<3)。
三、結尾
好了就講到這裡吧,希望對大家有所幫助。