日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql提供的六种约束_SQL的六种约束

發(fā)布時(shí)間:2025/3/12 数据库 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql提供的六种约束_SQL的六种约束 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

約束關(guān)鍵字  Constraints

作用:限制表的數(shù)據(jù)類(lèi)型,

第一種方式:創(chuàng)建表的時(shí)候添加約束,create table語(yǔ)句

第二種方式:創(chuàng)建表之后添加約束,alter table語(yǔ)句

注:紅色為注意事項(xiàng)

1、not null(不能為空)

創(chuàng)建表時(shí)約束not null

創(chuàng)建car表時(shí)約束了carid字段不能為空

2、unique(此字段的每條記錄必須唯一,一般我們用來(lái)約束id,他和primary key一樣,都對(duì)字段保證了唯一性)

創(chuàng)建表時(shí)約束unique

創(chuàng)建表之后約束unique

圖一:創(chuàng)建car表的時(shí)候約束了字段carid必須擁有唯一性

圖二:修改car表字段類(lèi)型,給car表的carname字段添加一個(gè)unique約束

3、primary key(設(shè)置此字段為這張表的主鍵,每個(gè)表應(yīng)該有一個(gè)主鍵,而且每個(gè)表都只能有一個(gè)主鍵,主鍵字段必須唯一且不能有null值)

創(chuàng)建時(shí)設(shè)置主鍵

創(chuàng)建后設(shè)置主鍵

圖略:alter語(yǔ)法

附:primary key還有一種情況,聯(lián)合主鍵。(一句話(huà)概括 = 兩個(gè)或兩個(gè)以上的字段都設(shè)置成主鍵),這里看似違反了unique,其實(shí)不然。它是把聯(lián)合主鍵看成一個(gè)主鍵

這里我們說(shuō)一下聯(lián)合主鍵,見(jiàn)下圖

創(chuàng)建表時(shí)設(shè)置聯(lián)合主鍵

我們可以看到被創(chuàng)建的car表,他的兩個(gè)字段carid和carname被設(shè)置成了聯(lián)合主鍵

創(chuàng)建后設(shè)置主鍵

圖略:alter語(yǔ)法

4、foreign key(設(shè)置此字段為這張表的外鍵,它指向另一張表的主鍵。)

foreign key約束防止破壞表連接,外鍵字段里的所有數(shù)據(jù),必須是另一張表的主鍵字段里的值。

也就是說(shuō),一張表的外鍵必須指向另一張表的主鍵

創(chuàng)建時(shí)設(shè)置外鍵

創(chuàng)建smallcar表,給smallcarid字段設(shè)置了主鍵,給carid字段設(shè)置了指向car表的carid字段的外鍵

創(chuàng)建后設(shè)置外鍵

圖略:alter語(yǔ)法

5、check(約束用于限制字段中的值的范圍)

對(duì)單個(gè)字段check的約束,那只允許該字段的值為特定的值

對(duì)表check的約束,會(huì)在特定的字段進(jìn)行數(shù)據(jù)限制

創(chuàng)建表時(shí)check約束

約束字段carid的值必須大于0,多個(gè)check約束可以效仿上面的幾個(gè)約束。

但是括號(hào)里面要用and進(jìn)行隔開(kāi)

創(chuàng)建表后check約束

圖略:alter語(yǔ)法

6、default(默認(rèn)值,如果定義了默認(rèn)值,再插入數(shù)據(jù)時(shí)如果沒(méi)有插入數(shù)據(jù),會(huì)根據(jù)默認(rèn)值插入)

創(chuàng)建時(shí)設(shè)置default約束

上面的carname記錄是自動(dòng)添加的

給carname字段設(shè)置了default約束,那么我們?cè)诓迦胗涗浀臅r(shí)候即使沒(méi)有填寫(xiě)carname字段的數(shù)據(jù)。會(huì)默認(rèn)給我們一個(gè)'carname‘?dāng)?shù)據(jù)

創(chuàng)建后添加default約束

圖略:alter語(yǔ)法

總結(jié)

以上是生活随笔為你收集整理的mysql提供的六种约束_SQL的六种约束的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。