zoukankan      html  css  js  c++  java
  • oracle约束的相关总结

    1.约束定义了必须遵循的的用户维护数据一致性和正确性的规则,是强制实现数   据完整性的主要途径。
           主键约束(primary    key)
           唯一性约束(unique)
           检查约束(check)     条件的构造
                   范围      字段     in(集合)
                                    字段    between........and
                                    字段   >=value1       and         字段<=value1
                 逻辑运算符:  and
                                         or
                                        not
                   困难所在:要求字段符合一定的模式或者叫做模式匹配
                   [NOT]LIKE(模糊查询也用到它)
                                              check(stuName   like   'li_')
                                   like的使用最重要的是要掌握通配符
                                            重点在于patten的构造
                                                   1.普通字符
                                                   2.通配符:% 代表零个或更多字符的任意字符串
                                                                             _代表一个字符
                                                                            []代表指定范围[a-f]或集合([abcdef])中的任何单个字符
                                                                             [^]不属于指定范围([a-f])或集合([abcdef])中的任何单个字符
                                                例如:  check (  stuName     LIKE    ' [% ]')
                                                                 check(  stuName    LIKE    ' 张[%]')
                                                                  check( stuAge   LIKE ' [18-20] '   AND
                                                                        NOT     LIKE  ' [^19] '
                                                                  check( stuAge    IN(18-19))
                                                                  年龄在18-20,但不等于19
                                                   3.转义字符
           默认约束
           外键约束(参照约束)
      约束可以在以下两个层次上实施:
         列级:用户定义的约束只对表中的一列起作用。
         表级:用户定义的约束对表中的多列起作用。
    2.约束的创建
         (1).创建表的同时,建立约束,使用CREATE     TABLE语句创建约束
                            CREATE    TABLE    表名
                          (
                                     列名    列的数据类型
                                     CONSTRAINT     约束名      约束的类型
                                      ......n
                            )
            ( 2).表创建后,通过修改来实现约束的添加,使用ALTER   TABLE命令
                           ALTER    TABLE    表名
                             WITH    CHECK | WITH    NOCHECK
                           ADD   CONSTRAINT    约束名     约束的类型
    3.主键约束(PRIMARY      KEY)
       主键用于唯一地标识表中的每一条记录
        可以定义一列或多列为主键
       主键列上没有任何两行具有相同值(即重复值)
       主键列上也不能为空值
    4.唯一性约束(UNIQUE)
       唯一性约束用来限制不受主键约束的列上的数据的唯一性,
       即表中任意两行在  指定列上都不允许有相同的值。
       一个表上可以放置多个唯一性约束
       唯一性约束和主键约束的区别:
        (1).唯一性约束允许在该列上存在NULL值,而主键约束的限制更为严格,不但不允许有重复,而且也不允许有空值。
        (2).在创建唯一性约束和主键约束时可以创建聚集索引和非聚集索引,但在 默认情况下主键约束产生聚集索引,而唯一性约束产生非聚集索引
    5.检查约束(CHECK)
         检查约束用来指定某列的可取值的范围。
         它通过限制输入到列中的值来强制域的完整性。
    6.默认约束(DEFAULT)
        默认约束用于给表中的指定列赋予一个常量值(默认值),当向该表插入数据   时如果用户没有明确给出该列的值,SQL Server会自动为该列输入默认值。每   列只能有一个默认约束。
        add  constraint  名字    default   (表达式  Null)  for    默认约束的字段名
    7.外键约束(FOREIGN    KEY)
        外键约束用于与其他表(称为参照表)中的列(称为参照列)建立连接。
        将参照表中的主键所在列或具有唯一性约束的列包含在另一个表中,这些列就     构成了另一个表的外键。
        当参照表中的参照列更新后,外键列也会自动更新,   从而保证两个表之间的   一致性关系。
         注意:(1).将“强制外键约束”或"强制用于复制”设置为“是”,能确保任何数据添加、修改或删除操作都不会违背外键关系
                         (2).将“更新规则”或"删除规则”设置为“无操作”,拒绝更新或删除主键表
                               将“更新规则”或"删除规则”设置为“层叠”,级联更新或删除从表中相应的所有行
                               将“更新规则”或"删除规则”设置为“设置空”,将外键表中相对应的外 键值设置为空值NULL
                               将“更新规则”或"删除规则”设置为“设置默认值”,如果外键表的所有外键列均已定义默 认值,则该列设置为默认值

  • 相关阅读:
    20191003 尚硅谷Spring Cloud教学视频
    20190928 On Java8 第二十三章 注解
    C# 输出结果有System.Byte[]
    linux 命令
    用go run命令启动main package中的多个文件
    Docker使用入门
    Go实现mqtt服务
    MongoDB的Go语言驱动注意点
    Go实现发送解析GET与POST请求
    用Go实现RabbitMQ消息收发
  • 原文地址:https://www.cnblogs.com/seniortestingdev/p/2407712.html
Copyright © 2011-2022 走看看