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...