MySQL筆記(二)約束

2021-08-17 07:03:39 字數 1666 閱讀 2085

1.1主鍵

主鍵 (primary key)用於約束表中的一行,作為這一行的唯一識別符號;在一張表中通過主鍵就能準確定位到一行。主鍵不能有重複並且不能為空。

一般可以這樣定義主鍵:create table 《表名》(《列名》 《資料型別》 primary key);

或者create table 《表名》(《列名》 《資料型別》,...,constrain 《自定義主鍵名》 primary key(《要定為主鍵的列名》);

復合主鍵-可以由表中的兩列或者多列來共同標識;constrain 《自定義主鍵名》 primary key《要定為主鍵的列名1,要定位主鍵的列名2,...>;

1.2預設值約束

預設值約束(default)規定,有default約束的列,當插入資料為空時,使用預設值。

一般可以這樣定義預設值約束:create table 《表名》(《列名》 《資料型別》 default 《自己選取的預設值》);

default 約束只會在使用insert語句時體現出來,insert語句中,如果被 default 約束的位置沒有值,那麼這個位置將會被 default 的值填充。

1.3唯一約束

唯一約束 (unique) ,它規定一張表中指定的一列的值必須不能有重複值,即這一列每個值都是唯一的。

一般可以這樣定義:create table 《表名》(《列名》 《資料型別》,unique (《被唯一約束的列名》);

insert 語句新插入的資料和已有資料重複時,如果有 unique約束,則 insert 失敗。

1.4外來鍵約束

外來鍵(foreign key)可以表名錶之間的關係。

乙個表可以有多個外來鍵,每個外來鍵必須 參考(references) 另乙個表的主鍵;被外來鍵約束的列,取值必須在它參考的列中 有對應值。

一般可以這樣定義外來鍵約束:create table 《表名》(《列名》 《資料型別》,constrain 《自定義外鍵名》 foreign key(《被約束的列名即外來鍵》) references 《參考表》(《參考表中的列名》);或者create table 《表名》(《列名》 《資料型別》 references 《參考表》(《參考表中的列名》);

1.5非空約束

非空約束(not null)的列,在插入值時必須為非空。

一般可以這樣定義非空約束:create table 《表名》(《列名》 《資料型別》 not null);

Mysql筆記(二) check約束字

1 check約束 check約束用於限制列中的值的範圍。如果對單個列定義check約束,那麼該列只允許特定的值。如果對乙個表定義check約束,那麼此約束會在特定的列中對值進行限制。2 check在mysql中不會被呼叫,不同於sql,在 mysql中,check只是一段可呼叫但無意義的子句,my...

MySQL約束筆記

mysql 檢視約束,新增約束,刪除約束 新增列,修改列,刪除列 檢視表的字段資訊 desc 表名 檢視表的所有資訊 show create table 表名 新增主鍵約束 alter table 表名 add constraint 主鍵 形如 pk 表名 primary key 表名 主鍵字段 如...

MySQL學習筆記 約束

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