小編給大家分享一下MySQL中常見的幾種約束是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
成都創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)平利,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
mysql中常見的幾種約束有:1、主鍵;2、默認(rèn)值;3、唯一;4、外鍵;5、非空。約束是一種限制,它通過對(duì)表的行或列的數(shù)據(jù)做出限制,來確保表的數(shù)據(jù)的完整性、唯一性。
約束是一種限制,它通過對(duì)表的行或列的數(shù)據(jù)做出限制,來確保表的數(shù)據(jù)的完整性、唯一性。
MYSQL中常用的幾種約束:
1、主鍵
主鍵(PRIMARY KEY)是用于約束表中的一行,作為這一行的標(biāo)識(shí)符,在一張表中通過主鍵就能準(zhǔn)確定位到一行,因此主鍵十分重要。主鍵要求這一行的數(shù)據(jù)不能有重復(fù)且不能為空。
還有一種特殊的主鍵——復(fù)合主鍵。主鍵不僅可以是表中的一列,也可以由表中的兩列或多列來共同標(biāo)識(shí)。
2、默認(rèn)值
默認(rèn)值約束(DEFAULT)規(guī)定,當(dāng)有DEFAULT約束的列,插入數(shù)據(jù)為空時(shí)該怎么辦。
DEFAULT約束只會(huì)在使用INSERT語句(上一實(shí)驗(yàn)介紹過)時(shí)體現(xiàn)出來,INSERT語句中,如果被DEFAULT約束的位置沒有值,那么這個(gè)位置將會(huì)被DEFAULT的值填充。
3、唯一約束
唯一約束(UNIQUE)比較簡(jiǎn)單,它規(guī)定一張表中指定的一列的值必須不能有重復(fù)值,即這一列每個(gè)值都是唯一的。
當(dāng)INSERT語句新插入的數(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í),如果被外鍵約束的值沒有在參考列中有對(duì)應(yīng),比如以下命令,參考列(department表的dpt_name)中沒有dpt3,則INSERT失敗
5、非空
非空約束(NOT NULL),聽名字就能理解,被非空約束的列,在插入值時(shí)必須非空。
在MySQL中違反非空約束,不會(huì)報(bào)錯(cuò),只會(huì)有警告。
看完了這篇文章,相信你對(duì)mysql中常見的幾種約束是什么有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!