zoukankan      html  css  js  c++  java
  • 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      --(你想要删除的某个键名或者约束名称)

  • 相关阅读:
    AGC041
    二分图 学习笔记
    区间DP 学习笔记
    3月21日考试 题解(数据结构+区间DP+贪心)
    Tarjan 做题总结
    3月15日考试 题解(数学+背包+线段树)
    差分约束 学习笔记
    Tarjan算法 学习笔记
    拓扑排序 学习笔记
    并查集 学习笔记
  • 原文地址:https://www.cnblogs.com/xiaofengshan/p/13226485.html
Copyright © 2011-2022 走看看