mysql中常見(jiàn)的幾種約束有:1、主鍵;2、默認(rèn)值;3、唯一;4、外鍵;5、非空。約束是一種限制,它通過(guò)對(duì)表的行或列的數(shù)據(jù)做出限制,來(lái)確保表的數(shù)據(jù)的完整性、唯一性。
約束是一種限制,它通過(guò)對(duì)表的行或列的數(shù)據(jù)做出限制,來(lái)確保表的數(shù)據(jù)的完整性、唯一性。
(推薦教程:mysql教程)
MYSQL中常用的幾種約束:
1、主鍵
主鍵(PRIMARY KEY)是用于約束表中的一行,作為這一行的標(biāo)識(shí)符,在一張表中通過(guò)主鍵就能準(zhǔn)確定位到一行,因此主鍵十分重要。主鍵要求這一行的數(shù)據(jù)不能有重復(fù)且不能為空。
還有一種特殊的主鍵——復(fù)合主鍵。主鍵不僅可以是表中的一列,也可以由表中的兩列或多列來(lái)共同標(biāo)識(shí)。
2、默認(rèn)值
默認(rèn)值約束(DEFAULT)規(guī)定,當(dāng)有DEFAULT約束的列,插入數(shù)據(jù)為空時(shí)該怎么辦。
DEFAULT約束只會(huì)在使用INSERT語(yǔ)句(上一實(shí)驗(yàn)介紹過(guò))時(shí)體現(xiàn)出來(lái),INSERT語(yǔ)句中,如果被DEFAULT約束的位置沒(méi)有值,那么這個(gè)位置將會(huì)被DEFAULT的值填充。
3、唯一約束
唯一約束(UNIQUE)比較簡(jiǎn)單,它規(guī)定一張表中指定的一列的值必須不能有重復(fù)值,即這一列每個(gè)值都是唯一的。
當(dāng)INSERT語(yǔ)句新插入的數(shù)據(jù)和已有數(shù)據(jù)重復(fù)的時(shí)候,如果有UNIQUE約束,則INSERT失敗。
4、外鍵
外鍵(FOREIGN KEY)既能確保數(shù)據(jù)完整性,也能表現(xiàn)表之間的關(guān)系。
一個(gè)表可以有多個(gè)外鍵,每個(gè)外鍵必須REFERENCES(參考)另一個(gè)表的主鍵,被外鍵約束的列,取值必須在它參考的列中有對(duì)應(yīng)值。
在INSERT時(shí),如果被外鍵約束的值沒(méi)有在參考列中有對(duì)應(yīng),比如以下命令,參考列(department表的dpt_name)中沒(méi)有dpt3,則INSERT失敗
5、非空
非空約束(NOT NULL),聽(tīng)名字就能理解,被非空約束的列,在插入值時(shí)必須非空。
在MySQL中違反非空約束,不會(huì)報(bào)錯(cuò),只會(huì)有警告。