SQL的約束
阿新 • • 發佈:2022-05-12
約束的定義:約束是一種限制,它通過對錶的行或列的資料做出限制,來確保表的資料的完整性、唯一性。
主鍵(PRIMARY KEY)作為資料表中一行資料的唯一識別符號,在一張表中通過主鍵就能準確定位到某一行資料,因此主鍵十分重要,它不能有重複記錄且不能為空。
預設值約束 (DEFAULT) 當有 DEFAULT 約束的列,插入資料為空時,將使用預設值。
唯一約束 (UNIQUE) 規定一張表中指定的一列的值必須不能有重複值,即這一列每個值都是唯一的。
外來鍵 (FOREIGN KEY) 既能確保資料完整性,也能表現表之間的關係。
比如,現在有使用者表和文章表,給文章表中新增一個指向使用者 id 的外來鍵,表示這篇文章所屬的使用者 id,外來鍵將確保這個外來鍵指向的記錄是存在的,
如果你嘗試刪除一個使用者,而這個使用者還有文章存在於資料庫中,那麼操作將無法完成並報錯。因為你刪除了該使用者過後,他釋出的文章都沒有所屬使用者了,而這樣的情況是不被允許的。
同理,你在建立一篇文章的時候也不能為它指定一個不存在的使用者 id。一個表可以有多個外來鍵,每個外來鍵必須 REFERENCES (參考) 另一個表的主鍵,被外來鍵約束的列,取值必須在它參考的列中有對應值
非空約束 (NOT NULL),聽名字就能理解,被非空約束的列,在插入值時必須非空。