溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SQL server中有哪些約束

發(fā)布時間:2021-01-22 11:41:14 來源:億速云 閱讀:144 作者:小新 欄目:MySQL數(shù)據(jù)庫

這篇文章將為大家詳細(xì)講解有關(guān)SQL server中有哪些約束,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

約束的概念:確保在列中輸入有效的值并維護(hù)表之間的關(guān)系。

SQL server中有哪些約束


Primary key約束

功能:primary key(主鍵約束),一個表中只能有一個,不能有空值,不能有重復(fù)值.

創(chuàng)建表時定義約束:字段名 數(shù)據(jù)類型[長度] primary key

Unique約束
功能:unique(唯一約束), 指定在同一列中的兩行不能有相同的值,只能有一行為空值。

創(chuàng)建表時定義約束:字段名 數(shù)據(jù)類型 unique

Default約束

功能:執(zhí)行insert語句時將默認(rèn)值自動插入約束所在的列

創(chuàng)建表時定義約束:字段名 數(shù)據(jù)類型 default 默認(rèn)值
Default 約束注意事項
1、每列只能定義一個default約束。
2、不能用于有identity屬性的列
3、如果定義的默認(rèn)值長于其對應(yīng)字段的允許長度,那么輸入到表中的默認(rèn)值將被截斷。
4、有default約束的字段,可插入其他的值,若不插入,   則以默認(rèn)值為紀(jì)錄值,且后面創(chuàng)建的默認(rèn)約束對已
經(jīng)存在的數(shù)據(jù)沒有影響.

Check約束
功能:check(檢查約束),每次執(zhí)行Insert/update語句時,該約束要校驗數(shù)據(jù)的合法性。

創(chuàng)建表時定義約束:字段名 數(shù)據(jù)類型 check(條件)

Check約束注意事項
1、一個表中可以定義多個檢查約束,但每個字段只    能定義一個檢查約束。
2、當(dāng)執(zhí)行insert語句或者update語句時,檢查約束  將驗證數(shù)據(jù)。
3 、如果對已經(jīng)有數(shù)據(jù)的表添加約束,可以用with nocheck避免對以前的數(shù)據(jù)做檢查.

Foreign key 約束

功能:確保主關(guān)鍵字(主表中)和外關(guān)鍵字(輔表中)的關(guān)系。
創(chuàng)建表時定義約束:字段名 數(shù)據(jù)類型 foreign key(字段名) references 表名(字段名)
注意:foreign Key子句中指定的列數(shù)和數(shù)據(jù)類型必須和在references子句中的列數(shù)和數(shù)據(jù)類型匹配。且關(guān)聯(lián)
的表的字段必須設(shè)置為主鍵.

修改約束
修改表時添加約束

alter table 表名
add constraint 約束名 primary key(字段名) –-主鍵
add constraint 約束名 unique (字段名)    --唯一
add constraint 約束名 default(默認(rèn)值) for 字段名 –默認(rèn)
add constraint 約束名 check(條件) –檢查
add constraint 約束名 foreign key(字段名) references 主鍵表(參照字段名)  --外鍵

刪除約束
語法:

alter table 表名 drop 約束名

【例】 刪除 xs表的pk_xs約束。

alter table xs drop constraint  pk_xs

注意:
1.要刪除被約束的列,必須先刪除約束
2.存在外鍵約束時,要刪除主健,必須先刪除對應(yīng)的外鍵

關(guān)于“SQL server中有哪些約束”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI