美文网首页
MySQL约束简介

MySQL约束简介

作者: 原来是仙女阿 | 来源:发表于2018-05-13 18:25 被阅读6次

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

主键约束(PRIMARY KEY)

自动编号(AUTO_INCREMENT)

  • 适用范围:整型,小数位数是0的浮点型
  • 自动编号必须与主键组合使用(主键不一定和它一起使用)
  • 默认情况下,起始值为1,每次的增量为1

主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键。(单一主键和复合主键)

  • 每张数据表只能存在一个主键
  • 主键保证记录的唯一性
  • 主键自动为NOT NULL
  • 自动编号必须和主键一起使用

唯一约束(UNIQUE KEY)

唯一约束保证在一个字段或者一组字段里的数据与表中其它行的数据相比是唯一的。

  • 唯一约束可以保证记录的唯一性
  • 唯一约束的字段可以为空值
  • 每张数据表可以存在多个唯一约束

非空约束(NOT NULL)

非空约束即限制必须为某个列赋值。

默认约束(DEFAULT)

当插入记录时,没有明确的为字段赋值,则自动赋予默认值。

外键约束(FOREIGN KEY)

FPREIGN KEY(子表外键名) REFERENCES 父表名(父表参照字段)

  • 父表和子表必须使用相同的存储引擎,禁止使用临时表。
  • 数据表的存储引擎只能为InnoDB。
  • 外键列和参照列必须具有相似的数据类型。数字的长度或是否有符号位必须相同,但是字符的长度可以不同。
  • 外键列和参照列必须创建索引。如果外键列不存在索引,MySQL将自动创建索引。

外键约束的参照操作

FOREIGN KEY(子表外键名) REFERENCES tb_name(父表参照字段) [ON DELETE CASCADE]

  • CASCADE:从父表删除或更新行,则自动删除或更新子表中的匹配行
    删除主表时自动删除从表。删除从表,主表不变。
    更新主表时自动更新从表。更新从表,主表不变。
  • SET NULL:父表删除或更新行,并设置子表中的外键列为NULL。如果使用该选项,必须保证子表的外键列没有指定为NOT NULL
    删除主表时自动更新从表值为NULL。删除从表,主表不变。
    更新主表时自动更新从表值为NULL。更新从表,主表不变。
  • RESTRICT(NO ACTION):拒绝对父表的删除或更新操作
    当从表记录不存在,主表才能删除。删除从表,主表不变。
    当从表记录不存在,主表才能更新。更新从表,主表不变。

相关文章

  • MySQL约束简介

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

  • MYSQL回顾(完整性约束相关)

    简介 MYSQL完整性约束条件主要包括: auto_increment not null 和 default un...

  • MySQL基础02-列属性

    一、简介 MySql中,真正约束字段的是数据类型,但是数据类型的约束太单一,需要有一些额外的约束,来更加保证数据的...

  • mysql 学习语句

    MySQL学习笔记 登录和退出MySQL服务器 基本语法 建表约束 主键约束 唯一主键 非空约束 默认约束 外键约...

  • mysql约束

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

  • 约束

    简介:约束是一种限制,通过对表的行或列的数据做出限制,来确保表的数据的完整性、唯一性 MySQL中常用的几种约束类...

  • MySQL基础——约束

    上篇文章我们学习了MySQL基础——函数,这篇文章我们学习MySQL基础——约束。 约束 约束是作用于表中字段上的...

  • mysql 约束

    接下来的一些内容,我们需要提前学一些简单的sql语句,方便大家理解接下来的知识。 DDL—数据定义语言(Creat...

  • MySQL约束

    mysql约束 1. 约束简介 关系型数据库系统和文件系统的一个不同点是,关系型数据库本身能保证存储数据的完整性,...

  • MySQL约束

    概念: 为了保证数据的完整性和一致性,MySQL提供了约束这个属性。约束分为表级约束和列级约束,如果约束只是针对某...

网友评论

      本文标题:MySQL约束简介

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