创建表的时候添加约束:

来保证数据的完整性:

  1. 实体完整性

    含义:数据库表中每一行数据就是一个实体(entity)

    作用:标识每一行数据不重复,行级约束

    类型:

    1. 主键约束(primary key)

    (不能重复,且不能为null,可以设置多个主键列,称为联合主键,当多个字段值都相同的时候才判断为重复)

    1. 唯一约束(unique)

    (不能重复,可以为null)

    1. 自动增长列(auto_increment)

    (指定的列的数据会自动增长,即使数据删除,还是从删除的序号继续往下)

  2. 域完整性

    含义:限制单元格数据正确,不对照此列的其他单元格比较

    作用:单元格约束

    类型:

    1. 数据类型(数值类型,日期类型,字符串类型)
    2. 非空约束(not null)
    3. 默认值约束(default)
  3. 引用完整性

    含义:指表与表之间的一种对应关系,通常情况下可以通过设置两个表之间的主键,外键关系,或者编写两表之间的触发器来实现

    作用:有对应参照的完整性的两张表,在对他们进行数据插入,更新,删除的过程中,系统都会将被修改表与另一张表进行对照,阻止一些不正确的数据的操作

    类型:

    1. 主键-外键

    注意:

    数据库的主键和外键类型一定要一致

    两个表必须是 InnoDB 类型

    设置参照完整性后,外键当中的内值,必须是主键当中的内容

    一个表设置当中的字段设置为主键,设置主键为主表

    创建表时,设置外键,设置外键的为子表