3.约束

1.关于约束

(1)约束保证数据的一致性和完整性

(2)约束分为表级约束和列级约束

(3)约束类型包括以下几个

  NOT NULL 非空约束

  PRIMARY KEY 主键约束

  UNIQUE KEY 唯一约束

  DEFAULT 默认约束

  FOREIGN KEY 外键约束

2.外键约束

 (1)FOREIGN KEY

     保证数据的一致性,完整性。实现一对一和一对多的关系。

 (2)外键约束的要求

      a.父表和子表必须使用相同的存储引擎,而且禁止使用临时表;

   b.数据表的存储引擎;

     c.外键列与参照列必须具有相同的数据类型,其中字的长度或是否有符号位必须相同,而符号的长度则可以不同;

   d.外键列与参照列必须建立索引,如果外键列不存在索引的话,MySQL将会自动创建索引。

 (3)外键约束的参照操作

   a.CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行;

      b.SET NULL:从父表删除或更新行,并设置子表的外键列为NULL,如果无法使用该选项,必须保证子表列没有指定NOT NULL;

   c.RESTRICT:拒绝父表的删除或更新操作;

   d.NO ACTION:标准的SQL关键字,在MySQL中与RESTRICT相同。

3. 表级约束与列级约束

  (1)对一个数据列建立起来的约束,称为列级约束;

  (2)对多个数据列建立的约束,称为表级约束;

  (3)列级约束既可以在列定义是声明,也可以在列定义后声明;

  (4)表级约束只能在列定义后声明。

4. 约束小结

 

 

  

 

posted @ 2018-03-15 12:47  TriHeart  阅读(202)  评论(0编辑  收藏  举报