SQL Server 2012 高級用法(四)

由於最近使用到SQL Server 2012,於是把SQL Server 知識重新梳理一遍。

本篇文章只要講解SQL Server 高級用法之約束。

常見約束為:NOT NULL ,UNIQUE,PRIMARY KEY, FOREIGN KEY, CHECK,DEFAULT。

約束只要用在建表使其表結構以及表關聯。限制一些列表中的數據,防止髒數據的插入,以及防止表連接被破壞。

NOT NULL

NOT NULL 約束強制列不能為NULL值。比如下面的語句,我們可以看出來在創建id_p的時候,使用了該約束,表示該表中的id_p列中所有值不能為NULL。

SQL Server 2012 高級用法(四)

UNIQUE

PRIMARY KEY

以上兩個約束均為越是唯一表示數據庫表中的每條記錄。

UNIQUE 和 PRIMARY KEY 約束均為列或列集合提供了唯一性的保證。

PRIMARY KEY 擁有自動定義的 UNIQUE 約束。

請注意,每個表可以有多個 UNIQUE 約束,但是每個表只能有一個 PRIMARY KEY 約束。

FOREIGN KEY

一個表中的FOREIGN KEY 指向另一個表中的PRIMARY KEY.

這樣的主要作用是為了聯合查詢的時候,表與表之間的互相關聯。並且能夠預防破壞表之間的連接動作,也可以防止非法數據插入。

CHECK

CHECK約束用語限制列中的值的範圍。


SQL Server 2012 高級用法(四)

例如上圖中Id_p字段中check約束為id_p>0,則表示該列中的數據要大於0。否則插入異常。

DEFAULT

DEFAULT約束為向表中的列中插入了默認值。


SQL Server 2012 高級用法(四)

DEFAULT

上圖中 Persons表中的City字段,被默認為“BeiJing” ,當你建表或者插入值為空的時候,該列則默認全部顯示BeiJing。

今天介紹約束先關的特殊字段,接下來會陸續介紹 Increment,view,date等高級用法。

如果有錯誤,請在評論區指出。


分享到:


相關文章: