程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server中的約束

SQL Server中的約束

編輯:關於SqlServer
 

在SQLServer中,有3種不同類型的約束。
  1、實體約束
  實體約束是關於行的,比如某一行出現的值就不允許出現在其他行,例如主鍵。
  2、域約束
  域約束是關於列的,對於所有行,某一列有那些約束,例如CHECK約束。
  3、參照完整性約束
  如果某列的值必須與其他列的值匹配,那就意味著需要一個參照完整性約束,例如外鍵。

  SQL Server中的約束條件
  1、默認約束:定義該列未輸入值時應該具有的默認值
  SQL-------alter table 表名 add constraint dt_列名 default 默認值 for 列名
  2、空值約束:定義該列是否允許為空值
  SQL-------定義表的時候在對應列列數據類型後面添加not null
  3、檢查約束:又叫check約束,用來限制列的取值,它根據定義的邏輯表達式來強制域的完整性
  SQL-------alter table 表名 add constraint ck_列名 check(邏輯表達式)
  4、唯一約束:確保在非主鍵列不輸入重復值
  SQL-------alter table 表名 add constraint uq_列名 unique[clustered | nonclustered](列名)
  5、外鍵約束:用於建立兩個表數據之間連接的一列或多列
  SQL-------alter table 表名 add constraint fk_列名 foreign key(列名) references 另一表名(列名)
  6、主鍵約束:用來惟一地標識表中的每一行
  SQL-------alter table 表名 add constraint pk_列名 primary key(列名)
  
  新增列:alter table 表名 add 新列名 數據類型
  刪除列:alter table 表名 drop column 列名
  刪除約束:alter table 表名 drop constraint 約束名
  修改列數據類型:alter table 表名 alter column 列名 新數據類型
  修改列名需要調用存儲過程sp_rename

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved