1. 程式人生 > >02_MySql入門學習_約束

02_MySql入門學習_約束

約束是一種限制,通過對錶行或列的資料做出限制,來確保資料的完整性和唯一性等

  • 約束分類

  • 非空約束

作用:

          限制某一個欄位不能為空

語法:

                    欄位名  型別(長度) 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 預設值,

圖形化操作: