mysql約束表示式大全 MySQL約束

2021-10-17 17:43:44 字數 2389 閱讀 1671

主鍵約束(primary key)

主鍵約束即在表中定義乙個主鍵來唯一確定表中每一行資料的識別符號。主鍵可以是表中的某一列或者多列的組合,其中由多列組合的主鍵稱為復合主鍵。主鍵應該遵守下面的規則:

每個表只能定義乙個主鍵。

主鍵值必須唯一標識表中的每一行,且不能為 null,即表中不可能存在兩行資料有相同的主鍵值。這是唯一性原則。

乙個列名只能在復合主鍵列表**現一次。

復合主鍵不能包含不必要的多餘列。當把復合主鍵的某一列刪除後,如果剩下的列構成的主鍵仍然滿足唯一性原則,那麼這個復合主鍵是不正確的。這是最小化原則。

語法格式:

建立表時:

單一主鍵

primary key

復合主鍵

primary key [欄位1,欄位2,…,欄位n]

外來鍵約束(foreign key)

定義乙個外來鍵時,需要遵守下列規則:

父表必須已經存在於資料庫中,或者是當前正在建立的表。如果是後一種情況,則父表與子表是同乙個表,這樣的表稱為自參照表,這種結構稱為自參照完整性。

必須為父表定義主鍵。

主鍵不能包含空值,但允許在外鍵**現空值。也就是說,只要外來鍵的每個非空值出現在指定的主鍵中,這個外來鍵的內容就是正確的。

在父表的表名後面指定列名或列名的組合。這個列或列的組合必須是父表的主鍵或候選鍵。

外來鍵中列的數目必須和父表的主鍵中列的數目相同。

外來鍵中列的資料型別必須和父表主鍵中對應列的資料型別相同。

語法格式

建立表時:

[constraint ] foreign key 欄位名 [,欄位名2,…]references 主鍵列1 [,主鍵列2,…]

刪除外來鍵約束

alter table drop foreign key ;

修改表時新增外來鍵約束

alter table add constraint foreign key() references ();

唯一約束(unique key)

唯一約束(unique key)要求該列唯一,允許為空,但只能出現乙個空值。唯一約束可以確保一列或者幾列不出現重複值。

語法格式

建立表時:

unique

注意:unique 和 primary key 的區別:乙個表可以有多個字段宣告為 unique,但只能有乙個 primary key 宣告;宣告為 primay key 的列不允許有空值,但是宣告為 unique 的字段允許空值的存在。

修改表時新增唯一約束:

alter table add constraint unique();

刪除唯一約束;

alter table drop index ;

檢查約束(check)

若將 check 約束子句置於表中某個列的定義之後,則這種約束也稱為基於列的 check 約束。

在更新表資料的時候,系統會檢查更新後的資料行是否滿足 check 約束中的限定條件。mysql 可以使用簡單的表示式來實現 check 約束,也允許使用複雜的表示式作為限定條件,例如在限定條件中加入子查詢。

注意:若將 check 約束子句置於所有列的定義以及主鍵約束和外來鍵定義之後,則這種約束也稱為基於表的 check 約束。該約束可以同時對錶中多個列設定限定條件。

語法格式

建立表時:

check

修改表時:

alter table tb_emp7 add constraint check()

刪除檢查約束

alter table drop constraint ;

預設值約束(default)

例如:女性同學較多,性別就可以預設為「女」。如果插入一條新的記錄時沒有為這個字段賦值,那麼系統會自動為這個字段賦值為「女」。

語法格式

建立表時:

default ;

修改表時新增預設約束值

alter table change column default ;

刪除預設值約束

alter table change column default null;

非空約束(not null)

非空約束(not null)可以通過 create table 或 alter table 語句實現。在表中某個列的定義後加上關鍵字 not null 作為限定詞,來約束該列的取值不能為空。

非空約束(not null constraint)指字段的值不能為空。對於使用了非空約束的字段,如果使用者在新增資料時沒有指定值,資料庫系統就會報錯。

語法格式

建立表時

not null

修改表時新增非空約束

not null

刪除非空約束

alter table change column null

檢視表約束

show create table ;

mysql約束表示式大全 SQL常用約束語句

常用五類約束 not null 非空約束,指定某列不為空 unique 唯一約束,指定某列和幾列組合的資料不能重複 primary key 主鍵約束,指定某列的資料不能重複 唯一 foreign key 外來鍵,指定該列記錄屬於主表中的一條記錄,參照另一條資料 check 檢查,指定乙個表示式,用於...

CHECK約束表示式

1.性別 只能填寫 男 和 女 欄位名 男 or 欄位名 女 注意 單引號裡的值可以為其他任何字 2.規定密碼長度不能小於6位數 len 欄位名 5 3.例 成績在0到100之間 欄位名 0 adn 欄位名 100 一.完整性 可靠性 準確性 資料完整性 保證資料完整性 實施完整性約束 1.實體完整...

正規表示式大全

0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d d 非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 正浮點數 d d 0 0 非正浮點數 負浮點數 0 0 9 0 9 1 9...