• 约束


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

     约束的类型:

    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  规则条件

  • 相关阅读:
    兼容所有浏览器的CSS3圆角效果
    浏览器兼容 IE6、IE7、IE8、Firefox、Opera CSS hack区分
    分享30个优秀的网站导航设计案例
    解析如何改善和优化 Web 服务器性能
    分享40款效果非常漂亮的 HTML5 & CSS3 网站模板,模板免费下载
    分享20个非常有创意的蓝色风格网页作品触发你的设计灵感
    分享20个效果非常绚丽的 CSS3 特性应用演示
    推荐12个优秀的 HTML5 网站设计案例欣赏
    网站设计风格及色彩搭配技巧
    舞动你的文字,巧用CSS中marquee属性
  • 原文地址:https://www.cnblogs.com/Sea1ee/p/6359185.html
Copyright © 2020-2023  润新知