02_MySql入門學習_約束
阿新 • • 發佈:2018-12-11
約束是一種限制,通過對錶行或列的資料做出限制,來確保資料的完整性和唯一性等
-
約束分類
-
非空約束
作用:
限制某一個欄位不能為空
語法:
欄位名 型別(長度) Not Null,
圖形介面操作:
-
唯一約束
作用:
限制列(該欄位)的值只能是唯一的,該列不能出現重複的值
語法:
欄位 型別(長度)unique,
圖形介面操作:無
-
主鍵約束
作用:
表示欄位唯一且非空
語法:
欄位 型別(長度)primary key
圖形化介面操作:
注意:
主鍵的設計一般來說是選取某一列作為主鍵【推薦】
選取多列作為主鍵稱之為複合主鍵【不推薦】
自然主鍵: 你的主鍵是有業務意義的,比如:身份證號等
代理主鍵:它沒有任何意義(都使用代理主鍵)
-
外來鍵約束
本質:通過一個欄位與其他的表建立聯絡,保證資料的完整性
簡單的說:A表A欄位取值是B表的主鍵【B欄位】,那麼B欄位是A表的外來鍵
一個表可以有多個外來鍵
注意:一般一個系統,不會使用外來鍵
語法:
ALTER TABLE 表名 ENGINE='InnoDB'; //修改引擎(引擎看01_Mysql入門學習)
//SQL語句建立外來鍵
alter table 表名
add constraint 外來鍵名 foreign key (主表字段) references 從表(從表主鍵);
圖形化操作
設計表——外來鍵——》欄目(需要給哪一個欄位新增)參考資料庫、參考表(B表)、參考欄位(一般B表主鍵)
-
其他
-
預設值
當前列若沒有值存入,則使用定義好的預設值,使用關鍵字default
語法:
欄位名 型別(長度) default 預設值,
圖形化操作: