约束

作者: Mango_lxh | 来源:发表于2018-09-10 19:58 被阅读0次
2018-09-17_202531.png

1、使用约束的作用

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

2、约束的分类

  • 约束分为表级约束和列级约束
  • 约束类型包括:
    1. not null(非空约束)
    2. primary key(主键约束)
    3. unique key(唯一约束)
    4. default(默认约束)
    5. foreign key(外键约束)
3、primary key:
  • 主键约束
  • 每张表只能存在一个主键
  • 主键保证记录的唯一性
  • 主键自动为NOT NULL

auto increment必须和primary key一起使用,但是primary key不一定要和auto increment一起使用

4、unique key
  • 唯一约束
  • 唯一约束可以保证记录的唯一性
  • 唯一约束的字段可以为空值
  • 每张数据表可以存在多个唯一约束
5、primary key和unique key区别
  • primary key不可以为空值,unique key可以为空值
  • 一个表只能存在一个primary key,但一个表中可以有多个unique key
6、默认约束default

当插入字段时,如果没有明确为字段赋值,则自动赋予默认值

7、foreign key外键约束
  • 保证数据一致性,完整性
  • 实现数据表的一对一或一对多关系
外键约束的要求
  1. 父表(参照表)和子表(具有外键列的表)必须具有相同的存储引擎,而且禁止使用临时表
  2. 数据表的存储引擎只能是InnoDB
  3. 外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同;字符的长度可以不同
  4. 外键列(加了foreign的那一列)和参照列必须创建索引。如果参照列上不存在索引,mysql将自动创建索引,但是如果外键列不存在索引,mysql不会为他自动创建索引
编辑数据表的默认存储引擎

修改mysql配置文件
default-storage-engine=INNODB

外键约束的参照操作
  • CASCADE:从父表删除或更新,自动删除或更新子表中匹配的行
  • SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL。如果使用该选项,必须保证子表列没有指定NOT NULL
  • RESTRICT:拒绝对父表删除或更新操作
  • NO ACTION:标准SQL的关键字,在mysql中与 RESTRICT相同

在实际开发过程中,很少使用物理的外键约束,更多的是使用逻辑的外键约束。
因为物理的外键约束只有innoDB这种引擎支持

8、表级约束与列级约束

列级约束:对一个数据列建立的约束
表级约束:对多个数据列建立的约束
列级约束既可以在列定义时声明,也可以在列定义后声明。
表级约束只能在列定义后声明
在实际开发中,使用较多的是列级约束,很少使用表级约束
not null、default不存在表级约束

相关文章

  • mysql约束

    1, mysql 不支持外键约束 ,条件约束约束分为列级约束,primary 主键约束check 条件约束for...

  • 2018-11-20 mysql 表约束

    知识点一: 表约束 非空约束,唯一约束,自增长,默认约束,主键约束,外键约束 1 not null 非空约束 例子...

  • mysql 约束

    mysql 中常见的约束: 默认约束 非空约束 主键约束 唯一约束 外键约束 自增长约束 顾命思议,主要讲几个容易...

  • MySQL约束简介

    约束能保证数据的完整性和一致性。约束类型:主键约束、唯一约束、非空约束、默认约束、外键约束 主键约束(PRIMAR...

  • mysql基础(二)

    约束 约束保证数据的完整性和一致性,约束分为表级约束和列级约束。表级约束和列级约束有五种约束: NOT NULL ...

  • 初学oracle

    约束: 非空约束:not null 唯一约束:unique 检查约束:check 主键约束:primary ke...

  • MySQL 基础 4 多表设计之外键约束

    1.1 约束 1.1.1 约束的作用   约束是用来保证数据的完整性。 1.1.2 单表约束 主键约束 唯一约束 ...

  • 17/12/13约束

    17/12/13约束 约束命名规则 表明_列名 _约束类型 unique约束(唯一约束) constraint(建...

  • 数据库约束

    约束类型 非空约束 not null 唯一性约束 unique 主键约束 primary key 外键约束 for...

  • XML约束——DTD约束

    约束 XML技术中,可以编写一个文档来约束一个XML的书写规范,约束文档定义了在XML中允许出现的元素名称、属性及...

网友评论

      本文标题:约束

      本文链接:https://www.haomeiwen.com/subject/ybkegftx.html