码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2020-07-02 19:44:34      阅读:60      评论:0      收藏:0      [点我收藏+]

标签:--   constrain   方式   检查   rop   有一个   name   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中的六种约束:主键约束,外键约束,唯一约束,非空约束,检查约束,默认约束

标签:--   constrain   方式   检查   rop   有一个   name   server   关联   

原文地址:https://www.cnblogs.com/xiaofengshan/p/13226485.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!