首頁 >資料庫 >mysql教程 >SQL server約束

SQL server約束

一个新手
一个新手原創
2017-10-18 10:02:531869瀏覽

約束的概念:確保在列中輸入有效的值並維護表之間的關係。


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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn