SQL server約束
發表時間:2023-07-18 來源:明輝站整理相關軟件相關文章人氣:
[摘要]約束的概念:確保在列中輸入有效的值并維護表之間的關系。Primary key約束功能:primary key(主鍵約束),一個表中只能有一個,不能有空值,不能有重復值.創建表時定義約束:字段名 數據...
約束的概念:確保在列中輸入有效的值并維護表之間的關系。

Primary key約束
功能:primary key(主鍵約束),一個表中只能有一個,不能有空值,不能有重復值.
創建表時定義約束:字段名 數據類型[長度] primary key
Unique約束
功能:unique(唯一約束), 指定在同一列中的兩行不能有相同的值,只能有一行為空值。
創建表時定義約束:字段名 數據類型 unique
Default約束
功能:執行insert語句時將默認值自動插入約束所在的列
創建表時定義約束:字段名 數據類型 default 默認值
Default 約束注意事項
1、每列只能定義一個default約束。
2、不能用于有identity屬性的列
3、如果定義的默認值長于其對應字段的允許長度,那么輸入到表中的默認值將被截斷。
4、有default約束的字段,可插入其他的值,若不插入, 則以默認值為紀錄值,且后面創建的默認約束對已
經存在的數據沒有影響.
Check約束
功能:check(檢查約束),每次執行Insert/update語句時,該約束要校驗數據的合法性。
創建表時定義約束:字段名 數據類型 check(條件)
Check約束注意事項
1、一個表中可以定義多個檢查約束,但每個字段只 能定義一個檢查約束。
2、當執行insert語句或者update語句時,檢查約束 將驗證數據。
3 、如果對已經有數據的表添加約束,可以用with nocheck避免對以前的數據做檢查.
Foreign key 約束
功能:確保主關鍵字(主表中)和外關鍵字(輔表中)的關系。
創建表時定義約束:字段名 數據類型 foreign key(字段名) references 表名(字段名)
注意:foreign Key子句中指定的列數和數據類型必須和在references子句中的列數和數據類型匹配。且關聯
的表的字段必須設置為主鍵.
修改約束
修改表時添加約束
alter table 表名
add constraint 約束名 primary key(字段名) –-主鍵
add constraint 約束名 unique (字段名) --唯一
add constraint 約束名 default(默認值) for 字段名 –默認
add constraint 約束名 check(條件) –檢查
add constraint 約束名 foreign key(字段名) references 主鍵表(參照字段名) --外鍵
刪除約束
語法:
alter table 表名 drop 約束名
【例】 刪除 xs表的pk_xs約束。
alter table xs drop constraint pk_xs
注意:
1.要刪除被約束的列,必須先刪除約束
2.存在外鍵約束時,要刪除主健,必須先刪除對應的外鍵
以上就是SQL server約束 的詳細內容,更多請關注php中文網其它相關文章!
學習教程快速掌握從入門到精通的SQL知識。