資料庫中建立約束

來源:互聯網
上載者:User

唯一約束 : 為了設定唯一,保證資料唯一

使用文法:

alter table 表名

add

constraint  UQ_表名_欄位名  unique(欄位);

 

唯一約束與主鍵約束的唯一區別:

   主鍵定位了表,一張表中只允許有一個主鍵,但是可以有多個唯一約束。

   主鍵不允許為空白,但是位於唯一約束可以為空白。(空也只能都有一個)

   重名的時候可以加上中括弧括起來,在表格中不能有兩個null。

   通過SSMS添加唯一約束:

   設計表 -> 右鍵唯一鍵 -> 添加 -> 右邊更改名字 -> 設定欄位

 

 

預設約束(defalut)

   有些時候需要有預設值

   兩個情形:使用者的插入資料的時間。

   另外一個情形:虛刪除。即使有日誌,也不可能恢複日誌

   alter  table  表名

   add

   constraint  DF_表名_欄位名  default(值)  for  欄位;

   沒有bool類型,要寫bit

   在添加資料的時候,會出現一個驚嘆號,則選中改行,執行就會添加到表中。

   MMSS:

   在設計表中選中欄位,在屬性選項卡中找到預設值綁定,輸入資料,就可以了。

 

檢查約束(check)

    一個人的性別,一個人的年齡都可以設定檢查約束。

    用來限定輸入的資料檢查是否符合某些規則。

    T-sql

    alter talbe 表名

    add

    constraint  CK_表名_欄位名  check(運算式)

    例如對年齡的約束為0到150歲之間,stuAge>=0and stuAge<=150  or  stuAge is null

   

   

 

外鍵約束:

   串連兩張表的關係;關係型資料庫是因為有表這個概念。

   而兩張表之間的關係式純粹的關係:

   關係是兩個表之間的關係。具有外鍵的就是外鍵表

   關係式建立在兩張表之間的。

   外鍵約束的用處:用來限定插入資料和刪除資料的約束的時候

   對於一些不注重資訊安全的公司來說不用太注意主外鍵的關係

   如何建立主外鍵關係:

     alter table  外鍵表

     add

     constraint FK_外鍵表_主鍵表_欄位  foreign  key(外鍵表中的欄位)  references  主鍵表名(主鍵表中的欄位)

 

 

 

 

刪除約束:alter  table    表名  drop  約束名

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.