SQL Server 的常見約束
阿新 • • 發佈:2017-06-27
style lin num create 表名 key arc 空值 alt
1.主鍵約束------我是最常見的哦(PRIMARY KEY)
- 限制:不能為空,數據唯一,一個表中只有一個
- 方法:
- 建表時直接在列類型後面添加 如:
1 CREATE TABLE stuDB 2 ( 3 SID CHAR(12) PRIMARY KEY 4 ) 5
- 建表後通過添加語句添加
添加語句為: ALTER TABLE <表名> ADD CONSTRAINT 自定義的約束名 約束類型 具體的約束說明 例: ALTER TABLE stuDB ADD CONSTRAINT PK_SID PRIMARY
- 建表時直接在列類型後面添加 如:
2.外鍵約束------表與表之間的根深蒂固的鏈接者(FOREIGN KEY)
- 效果:用於兩表間建立關系,需要指定引用主表的那列
-
方法:
1.建表時直接加在類型後面 CREATE TABLE stuDB ( SID CHAR(12) , Sname VARCHAR(12) FOREIGN KEY REFERENCES 從表名(列名) ) 2.建表後在後面添加 添加語句為: ALTER TABLE 主表名 ADD CONSTRAINT 自定義約束名 FOREIGN
3.唯一約束-----這列中只有一個本寶寶(Unique Key)
- 效果:列值唯一,就算為空值,也要任性的唯一
- 方法:
1.建表時直接加在類型後面 CREATE TABLE stuDB ( SID CHAR(12) , Sname VARCHAR
4.默認約束------我就默默的幫你選了哦( DEFAULT)
- 效果:只是嘿嘿的幫你選了
- 用法:
1.建表時直接加在類型後面 CREATE TABLE stuDB ( SID CHAR(12) , Sname VARCHAR(12) , StuNO VARCHAR(12), Ssex CHAR(2) DEFAULT ‘男‘ ) 2.建表後在後面添加 添加語句為: ALTER TABLE 主表名 ADD CONSTRAINT 自定義約束名 DEFAULT (默認的東東) FOR 列名 例: ALTER TABLE stuDB ADD CONSTRAINT DF_Ssex DEFAULT (‘男‘) FOR Ssex
5.檢查約束------你 你 就是你 站住 讓我檢查通過再走(CHECK)
- 效果: 站住檢查,通過後才可錄入表中
- 用法:
1.建表時直接加在類型後面 CREATE TABLE stuDB ( SID CHAR(12) , Sname VARCHAR(12) , StuNO VARCHAR(12), Ssex CHAR(2) , Sage INT CHECK (Age >= 18 AND Age<=55) ) 2.建表後在後面添加 添加語句為: ALTER TABLE 主表名 ADD CONSTRAINT 自定義約束名 CHECK(條件) 例: ALTER TABLE stuDB ADD CONSTRAINT DF_ Sage CHECK (Age >= 18 AND Age<=55)
6.其他約束
- 自動增長的約束
- 限制:必須在類型是 INT,SMALLINTt等時才可使用
語法: 列名 類型 IDENTITY(開始數字,每次加上的數字) 例如: stuSeat SMALLINT IDENTITY (1,1)
- 限制:必須在類型是 INT,SMALLINTt等時才可使用
- 限制位數
語法: 列名 NUMERIC(數字位數,小數點位數) 例如: stuID NUMERIC(18,0),
SQL Server 的常見約束