明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

SQL server約束

[摘要]約束的概念:確保在列中輸入有效的值并維護(hù)表之間的關(guān)系。Primary key約束功能:primary key(主鍵約束),一個(gè)表中只能有一個(gè),不能有空值,不能有重復(fù)值.創(chuàng)建表時(shí)定義約束:字段名 數(shù)據(jù)...

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

SQL server約束


Primary key約束

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

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

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

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

Default約束

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

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

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

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

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

Foreign key 約束

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

修改約束
修改表時(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 主鍵表(參照字段名)  --外鍵

刪除約束
語(yǔ)法:

alter table 表名 drop 約束名

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

alter table xs drop constraint  pk_xs

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

以上就是SQL server約束 的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門(mén)到精通的SQL知識(shí)。




標(biāo)簽:SQL server約束