1. 程式人生 > >MySQL表的完整性約束

MySQL表的完整性約束

概覽

為了規範資料庫資料格式。在使用者進行插入,修改,刪除等操作時。DBMS自動按照約束條件對資料進行監測,使不符合規範的資料不能進入資料庫。以確保資料庫中儲存的資料正確,有效 約束條件和資料型別的寬度一樣,都是可選引數,主要分為以下幾種。

not null

當前這一列的內容不能為空,性別

unique

唯一可以有一個空,姓名,身份證號,使用者名稱等

primary key

主鍵

  • 自動建立索引
  • 唯一 + 非空
  • 加速查詢,通過輸入主鍵查詢對應的內容非常快
  • 每張表只能有一個主鍵 應用: 員工號碼,學號,使用者名稱,使用者id

foreign key

外來鍵,支援外來鍵的儲存引擎只有Innodb 不在一個表的鍵 例:一個公司50000000人,有5個部門,有5個辦公室,如果存在一張表上,部門和辦公室重複了很多次。非常浪費記憶體。為了節省空間,可以建兩個表,一張表存員工資訊,一張表只有5行,存部門資訊。員工資訊中部門id對應了部門表的id。部門id相對於員工資訊表就是他的外來鍵。