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      --(你想要删除的某个键名或者约束名称)

  • 相关阅读:
    FPGA quartus开发中常见的错误处理
    verilog中wire与reg类型的区别
    VC++6.0中ClassView中类消失 解决方案[转自网络]
    C++ 和 MFC的学习
    最近单片机编程中的心得
    #ifdef __cplusplus extern "C" { #endif”的定义的含义
    ES6字符串拼接新方法-模板字符串表达式
    JavaScript事件参数对象event
    JavaScript offset家族
    详解JavaScript中的replace()函数
  • 原文地址:https://www.cnblogs.com/xiaofengshan/p/13226485.html
Copyright © 2011-2022 走看看