SQL Server中的六种约束:主键约束,外键约束,唯一约束,非空约束,检查约束,默认约束

Posted 小风扇A

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server中的六种约束:主键约束,外键约束,唯一约束,非空约束,检查约束,默认约束相关的知识,希望对你有一定的参考价值。

什么是约束?

约束是数据库中保证数据完整性的方法

1.实体完整性

列如:每个表中有一个必须要指定的字段

2.区域完整性

针对表中的某个字段进行特殊化限制

3.参照完整性

表与表之间的一种特殊化关联限制

 

约束类型(6):

1.主键约束(PRIMARY KEY)

确定表中的标识列(主键字段不能为空,必须唯一)

标识:确定一个对象的唯一表现

 1 ALTER TABLE 数据表名

   ADD CONSTRAINT   PK_ID    --(命名一个主键约束名称)

   PRIMARY KEY(ID)------添加主键约束

2.外键约束(FOREIGN KEY)

确定表与表之间的联系方式,一般情况下通过主表的标识列进行确定主表:给那张表添加约束那张表就是主表,辅助表为从表

       1.ALTER TABLE 从表名称

             ADD CONSTRAINT FK_SID    --(命名一个外键约束名称)

             FOREIGN KEY(StuID) REFERENCES 主表名称(ID) --添加外键约束

3.唯一约束(UNIQUE)

确定这个字段中的数据必须是唯一存在的

             1.ALTER TABLE 数据表名称

                ADD CONSTRAINT QU_NAME   --(命名一个唯一约束的名称)

                 UNIQUE([Name])         ----添加唯一约束

4.非空约束(NOT NULL)

确定这个字段中的数据必须不能为空

1   ALTER TABLE 数据表名称

     ALTER COLUMN ID NOT NULL

 

5.检查约束(CHECK)

设置这个字段中的数据特性

1. ALTER TABLE 数据表名称

    ADD CONSTRAINT CK_SEX                      --(命名一个检查约束的名称)

    CHECK(SEX IN(‘男‘,‘女‘));

6.默认约束(DEFAULT)

若在表中定义了默认约束,用户在插入新的数据行时,如果该行没有指定数据,那么系统将默认值赋予给该列,如果我们不设置默认值,系统默认为NULL.

1.如果表字段已经建好

ALTER TABLE 表名

ADD CONSTRAINT DF_XXX DEFAULT 1 FOR 字段名

2.如果表字段没有建

ALTER 表名 ADD 字段名 INT DEFAULT(1)

 

删除约束

--删除检查约束

ALTER TABLE 数据表名称

DROP CONSTRAINT CK_AGE      --(你想要删除的某个键名或者约束名称)

以上是关于SQL Server中的六种约束:主键约束,外键约束,唯一约束,非空约束,检查约束,默认约束的主要内容,如果未能解决你的问题,请参考以下文章

sql中创建组合主键和组合外键

基础篇 - SQL 的约束

常见的五种约束

SQL的约束

mysql的约束都有哪些?

MYSQL基础加固——SQL 的约束