SQL Server 的常见约束
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 KEY
- 建表时直接在列类型后面添加 如:
2.外键约束------表与表之间的根深蒂固的链接者(FOREIGN KEY)
- 效果:用于两表间建立关系,需要指定引用主表的那列
-
方法:
1.建表时直接加在类型后面 CREATE TABLE stuDB ( SID CHAR(12) , Sname VARCHAR(12) FOREIGN KEY REFERENCES 从表名(列名) ) 2.建表后在后面添加 添加语句为: ALTER TABLE 主表名 ADD CONSTRAINT 自定义约束名 FOREIGN KEY(列名)REFERENCES 从表名(列名) 例: ALTER TABLE stuDB ADD CONSTRAINT DF_Sname FOREIGN KEY(Sname) REFERENCES sCore(Sname)
3.唯一约束-----这列中只有一个本宝宝(Unique Key)
- 效果:列值唯一,就算为空值,也要任性的唯一
- 方法:
1.建表时直接加在类型后面 CREATE TABLE stuDB ( SID CHAR(12) , Sname VARCHAR(12) , StuNO VARCHAR(12) UNIQUE ) 2.建表后在后面添加 添加语句为: ALTER TABLE 主表名 ADD CONSTRAINT 自定义约束名 UNIQUE(列名) 例: ALTER TABLE stuDB ADD CONSTRAINT DF_StuNO UNIQUE(Stu'NO)
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),