zoukankan      html  css  js  c++  java
  • 约束

    约束的概念:确保在列中插入有效的值并维护表之间的关系

     约束的类型:

    default                Insert时为列指定值

    check                  指定在列中可接受的值

    Not Null               指定在列中不接受的空值

    Primary key          每行唯一的标识

    unique                 不允许哟偶重复的关键字

    foregin                 匹配另一张表中的关键字

    Primary key(主键) 约束

       一个表中只能有一个,不能有空值,不能有重复值

        创建表时定义约束:

               字段名   数据类型[长度]  Primary key    

     unique (唯一)约束

         同一列中的两行不能有相同的值

          字段名   数据类型    unique

    default(默认)约束

    执行insert语句时将默认值自动插入约束所在的列

    字段名  数据类型   dafault  默认值

    Default 约束注意事项

     1,没列只能定义一个default约束

     2,不能有Identity属性的列  (自动增长列)

     3,如果定义的默认值长度大于对应字段的长度则输入的值将被截断

     4,有default约束的字段,可插入其他的值,若不插入,则以默认值为记录值

    check(检查)约束

    每次执行insert/update 语句时,该约束要检查数据的合法性

      字段名  数据类型  check(条件)

    注意事项

     1,一个表中可以定义多个检查约束,但每个字段只能定义一个检查约束

     2,如果对已有的数据的表添加约束,可以用 with nocheck 避免对以前的数据做检查

    Foregin key(外键)约束

      确保主关键字(主表中)和外关键字(辅表中)的关系

      字段名  数据类型  foregin key (字段名)    references   表名(字段名)

                                       

    修改约束

     alter table  表名

      add  constraint   约束名   primary key(字段名)  -----主键

      .............................    unique(字段名)-----唯一

     ..............................   default(默认值) for 字段名  ---默认

     ..............................  check(条件)     ---检查

    ...............................  foreign key(字段名)  references  主键表(参照字段名)-----外键

       删除约束

       alter table 表名   drop 约束名

      要删除被约束的列必须先删除约束

    级联更新和删除

        设置了外键约束后,如果要插入数据必须先插入主表数据,在插入外键表数据,如果删除数据,先删外键表数据再删除主键表数据

      功能:对主键表中的数据记录进行删除或更新时,外键表中的对应记录也跟着删除或更新

      语法: 

        级联删除     on delete cascade

        级联更新      on update cascade

      例如:

         alter table  XS_KC

      add constraint  fk_xh foreign key(学号)  references xs(学号)  on delete cascade  

    Rule  规则的使用 

      指定列中可以接受的值,确保数据落在指定的范围,相当于check约束

        语法:

      create rule  规则名称  as  规则条件

  • 相关阅读:
    973. K Closest Points to Origin
    919. Complete Binary Tree Inserter
    993. Cousins in Binary Tree
    20. Valid Parentheses
    141. Linked List Cycle
    912. Sort an Array
    各种排序方法总结
    509. Fibonacci Number
    374. Guess Number Higher or Lower
    238. Product of Array Except Self java solutions
  • 原文地址:https://www.cnblogs.com/Sea1ee/p/6359185.html
Copyright © 2011-2022 走看看