MYSQL學習(5)約束

2021-08-18 23:45:51 字數 736 閱讀 9161

1.約束保證資料的完整性和一致性

2.約束分為表級約束和列級約束

3.約束型別包括:

not null(非空約束)  primary key(主鍵約束)   dunique key(唯一約束)   default(預設約束)

foreign key(外界約束)

4.foreign key(外界約束)

要求:1.父表和子表必須使用相同的儲存引擎,且禁止使用臨時表  有外來鍵的表為子表,參照的表為父表

2.資料表的儲存引擎只能為innodb。

3.外來鍵列和參照列必須具有相似的資料型別。其中數字的長度或是否

有符號位必須相同;而字元的長度則可以不同

4.外來鍵列和參照列必須建立索引。如果外來鍵列不存在索引的話,mysql自動建立

外來鍵約束的參照操作

1.cascade:從父表刪除或更新且自動刪除或更新子表中匹配的行

2.set null:從父表刪除或更新行,並設定子表中的外來鍵列為null。如果使用該選項,必須保證子表列

沒有指定not null

3.restrict:拒絕對父表的刪除或更新操作

4.no action:標準sql的關鍵字,在mysql中與restrict相同

表級約束與列級約束

對乙個資料列建立的約束,稱為列級約束(用的較多)

對多個資料列建立的約束,稱為表級約束

列級約束既可以在列定義時宣告,也可以在列定義後宣告

表級約束只能在列定義後宣告

MySQL學習筆記 約束

1.約束是在表上強制執行的資料檢驗規則,約束主要用於保證資料庫的完整性。2.當表中資料有相互依賴性時,可以保護相關的資料不被刪除。3.大部分資料庫支援下面五類完整性約束 not null非空 unique key唯一值 primary key主鍵 foreign key外來鍵 check檢查 4.約...

學習筆記 MySQL 約束

根據作用範圍 約束1.非空約束 2.唯一約束 建立表並指定使用者名稱和密碼組合不能重複 利用別名 alter table user drop index uk name pwd 1 3.主鍵約束 4.外來鍵約束 建立主表 create table dept dept id int auto incr...

MySQL學習總結 約束

概念 對錶中的資料進行限定,保證資料的正確性 有效性和完整性。分類 1.主鍵約束 primary key 2.非空約束 not null 3.唯一約束 unique 4.外來鍵約束 foreign key 非空約束 not null,值不能為null 1.建立表時新增約束 create table ...