Mysql資料庫 約束型別

2021-08-20 11:51:05 字數 1621 閱讀 3551

mysql資料庫的約束型別有:主鍵約束(primary key),外來鍵約束(foreign key),非空約束(not null),唯一性約束(unique),預設約束(default)。

一.主鍵約束(primary key)

主鍵約束要求主鍵列的資料唯一,並且不能為空。主鍵分為兩種型別:單字段主鍵和多字段聯合主鍵。

1.單字段主鍵

在定義列的同時指定主鍵,語法規則:欄位名 資料型別 primary key [預設值]

在定義完成所有列之後指定主鍵,語法規則:[constraint《約束名》] primary key [欄位名]

一般在建表時我們會選擇將主鍵放在所有列後。

2.多欄位聯合主鍵

主鍵由多個字段聯合組成。語法規則:primary key[欄位1,欄位2,....,欄位n]

二.外來鍵約束(foreign key)

外來鍵用來在兩個表的資料之間建立連線,它可以是一列或者多列。乙個表可以有乙個或者多個外來鍵。乙個表的外來鍵可以為空,若不為空,則每乙個外鍵值必須等於另乙個表中主鍵的某個值。

外來鍵的作用:保證資料應用的完整性。

建立外表的語法規則:[constraint《外鍵名》]foreign key 欄位名1[,欄位名2,....] references《主表名》 主鍵列1 [,主鍵列2,....] 

建立乙個表test_1

定義資料表test_2,讓它的主鍵deptid作為外來鍵關聯到的test_1的主鍵id,

在表test_2上新增了名稱為test_deptid的外來鍵約束,外鍵名稱為deptid,其依賴於表test_2的主鍵id.

三.使用非空約束(not null)

非空約束指字段的值不能為空。

非空約束 語法規則:欄位名 資料型別 not null

四.唯一性約束(unique)

唯一性約束要求該列唯一,允許為空,但是只能出現乙個空值。唯一約束可以保證一列或者幾列不出現重複值。

非空約束的語法規則

1.在定義完列之後直接指定唯一約束 

欄位名 資料型別 unique

2.在定義完所有列之後指定唯一約束

[constraint《約束名》] unique(《欄位名》)

宣告:unique在表中可以有乙個或者多個字段宣告,而primary key,只能有乙個。

五.預設約束(default)(最簡單)

預設約束指定某列的預設值。

語法規則: 欄位名 資料型別 dfault 預設值

所有的知識點均來自《mysql5.5從零開始學》 劉增傑 張少軍 編著

MYSQL資料庫約束型別

主鍵約束要求主鍵列的資料唯一,並且不能為空。主鍵分為兩種型別 單字段主鍵和多字段聯合主鍵。寫法主鍵由多個字段聯合組成。語法規則 primary key 欄位1,欄位2,欄位n 只能與primary key 聯用 語法 字段 資料型別 primary key auto increment n n為起始...

MySQL資料庫 資料約束

對使用者操作表的資料進行約束 作用 當使用者對使用預設值的字段不插入值的時候,就使用預設值。注意 1 對預設值字段插入 null 是可以的 2 對預設值字段可以插入非 null create table student id int,name varchar 20 address varchar 2...

mysql資料庫基礎 資料型別和約束

char 固定長度 char 4 as as varchar 可變長度字串 varchar 4 as as text 大文字儲存 字元 4000 1 整數和浮點數如果不需要小數部分,則使用整數來儲存資料,並且根據整數的大小,來選擇合適的整數型別,如果需要小數部分,則使用浮點數型別,浮點數型別中,有f...