sql六种约束,sql六大约束
SQL server语句有哪些约束条件?
在SQLServer中,有3种不同类型的约束。
1、实体约束:实体约束是关于行的,比如某一行出现的值就不允许出现在其他行,例如主键。
2、域约束:域约束是关于列的,对于所有行,某一列有那些约束,例如CHECK约束。
3、参照完整性约束:如果某列的值必须与其他列的值匹配,那就意味着需要一个参照完整性约束,例如外键。
SQL Server中的约束条件:
1、默认约束:定义该列未输入值时应该具有的默认值。
2、空值约束:定义该列是否允许为空值。
3、检查约束:又叫check约束,用来限制列的取值,它根据定义的逻辑表达式来强制域的完整性。
4、唯一约束:确保在非主键列不输入重复值。
5、外键约束:用于建立两个表数据之间连接的一列或多列。
6、主键约束:用来惟一地标识表中的每一行。
sql server中有哪几种约束?
sql server中有约束主要是四种
1实体完整性约束
2域完整性约束(指给定列的输入有效性)
3引用完整性约束(表之间的联系)
4自定义完整性约束(根据用户的需求)
SQL中的几种约束的创建与删除
约束的目的就是确保表中的数据的完整性。
常用的约束类型如下:
主键约束:(Primary Key constraint) 要求主键列唯一,并且不允许为空
唯一约束:(Unique Constraint) 要求该列唯一,允许为空,但只能出现一个空值
检查约束:(Check Constraint) 某列取值范围限制、格式限制等。如有关年龄的限制
默认约束:(Default Constraint) 某列的默认值,如我们的男性学员比较多,性别默认为男
外键约束:(Foreign Key Constraint) 用于在两表之间建立关系,需要指定引用主表的哪一列
一、添加约束
在创建表时,我们可以在字段后添加各种约束,但一般不这样混用,推荐将添加约束和建表的语句分开编写。
添加约束的语法如下:
Code:
Alter Table 表名
Add Constraint 约束名 约束类型 具体的约束类型
上述语法标识修改某个表,添加某个约束,其中约束名的命名规则推荐采用"约束类型_约束字段"这样的形式。
Code:
---添加主键约束
Alter Table stuInfo
Add Constraint PK_stuNO primary Key(stuNo)
---添加唯一约束
Alter Table stuInfo
Add Constraint UQ_stuID unique(stuID)
---添加默认约束
Alter Table stuInfo
Add Constraint DF_stuAddress default('地址不详') for stuAddress
---添加检查约束
Alter Table stuInfo
Add Constraint CK_stuAge check(stuAge between 15 and 40)
---添加外键约束
Alter Table stuMarks
Add Constraint FK_stuNo foreign key(stuNo) references stuInfo(stuNo)
二、删除约束
如果错误的添加了约束,则可以删除约束
删除约束的语法如下:
Code:
Alter Table 表名
Drop Constraint 约束名
附加:在创建表的时候同时添加约束的写法:
Code:
use stuDB
go
if exists(select * from Sysobjects where name = 'stuInfo')
drop table stuInfo
go
create table stuInfo
(
stuName varchar(20) not null primary key(stuName)
,stuID int not null unique(stuID)
,stuAddress varchar(20) not null default('地址不详')
,stuAge int not null check(stuAge between 15 and 40)
)