首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mysql数据库中常用的约束

MySQL数据库中的约束是一种规则,用于确保数据的正确性、有效性和完整性。以下是MySQL中常用的约束类型及其相关介绍:

约束类型

  • 主键约束:确保表中的每一行都有唯一的标识。
  • 唯一约束:保证数据表中字段的唯一性。
  • 非空约束:确保字段的值不能为null。
  • 检查约束:确保字段值满足特定的条件。
  • 外键约束:用来让两张表的数据之间建立连接,保证数据的一致性和完整性。
  • 默认约束:为数据表中的字段指定默认值。

约束的优势

  • 主键约束:确保每条记录的唯一性,便于快速查找和更新。
  • 唯一约束:防止重复数据,确保数据的唯一性。
  • 非空约束:防止插入空值,确保数据的完整性。
  • 检查约束:限制数据的取值范围,确保数据的合法性。
  • 外键约束:维护表之间的关系,防止无效数据的插入。
  • 默认约束:在插入新记录时,如果没有指定该列的值,则自动使用默认值。

应用场景

  • 主键约束:通常用于标识表中的每一行记录。
  • 唯一约束:适用于需要唯一标识的字段,如电子邮件地址、用户名等。
  • 非空约束:适用于所有必填字段。
  • 检查约束:适用于需要特定条件的字段。
  • 外键约束:适用于多对多或一对多关系的表。
  • 默认约束:适用于有默认值的字段。

通过使用这些约束,可以有效地维护数据库的完整性和一致性,确保数据的准确性和可靠性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

MySql数据库约束

当前几乎所有的关系型数据库都提供了约束(constraits)机制,该机制提供了一条强大而简易的途径来保证数据库中的数据完整性,一般来说,数据完整性有以下三种形式: (1)实体完整性保证表中有一个主键,...对错误数据的约束   在某些默认设置下,MySql数据库允许非法或不正确的数据的插入或更新,又或者可以在数据库内部将其转化为一个合法的值,如向not null的字段插入一个null值,MySql数据库会将其更改为...0再进行插入,因此数据库本身没有对数据的正确性进行约束。...数据库的输入值进行了约束,而且针对不同的错误提示错误内容也不同。...外键约束 外键用来保证参照完整性,MySQL数据库的MyIsAM存储引擎本身并不支持外键,对于外键的定义只是起到一个注释的作用,而InonoDB存储引擎则完整支持外键约束。

1.2K10
  • MySQL数据库约束

    UNLL约束 创建表时,可以指定某列不为空: -- 重新设置学生表结构 DROP TABLE IF EXISTS student; CREATE TABLE student (   id INT....UNIQUE:唯一约束 -- 重新设置学生表结构 DROP TABLE IF EXISTS student; CREATE TABLE student (   id INT NOT NULL,...name VARCHAR(20) ); 图中key下面的UNI指的是unique, 加上unique约束之后,每次插入或修改都需要先进行查询,如果发现重复数据则会报错. 3 DEFAULT:默认值约束...classId 就和 class 表的 id 建立了联系, student classId 中的值,必须要在class 表的 classId 中存在!...确保某列(或两个列多个列的结合)有唯一标 识,有助于更容易更快速地找到表中的一个特定的记录。 FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。

    13410

    MYSQL数据库-表的约束

    零、前言 本章主要讲解学习MYSQl数据库中的表的约束 表的约束 真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性...在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单 索引的作用相当于图书的目录...索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对这些指针排序 数据库使用索引以找到特定值,然后顺指针找到包含该值的行。...这样可以使对应于表的SQL语句执行得更快,可快速访问数据库表中的特定信息 7、唯一键 一张表中有往往有很多字段需要唯一性,数据不能重复,但是一张表中只能有一个主键:唯一键就可以解决表中有多个字段需要唯一性约束的问题...解决方案就是通过外键完成的。建立外键的本质其实就是把相关性交给mysql去审核了,提前告诉mysql表之间的约束关系,那么当用户插入不符合业务逻辑的数据的时候,mysql不允许你插入

    7.5K30

    【MySQL数据库】数据库的约束

    )零填充约束(zerofill)----图片Mysql约束(constraint)基本介绍 MySQL数据库通过约束(constraints)防止无效的数据进入到数据库中,以保护数据的实体完整性...MySQL中主要有六种约束,分别是:主键约束(primary key),非空约束(not null),自增长约束(auto_increment),默认约束(default) ,零填充约束(zerofill...一个表中只能有一个字段使用 auto_increment约束,且该字段必须有唯一索引,以避免序号重复(即为主键或主键的一部分)。...(unique) 唯一约束(Unique Key)是指所有记录中字段的值不能够重复出现。...约束名>;默认约束(default) 默认约束用于给表中字段指定默认值,即当在表中插入一条新记录时,如果没有给这个字段赋值,系统会自动为这个字段插入默认值。

    5.7K40

    MySQL数据库基础:约束

    我的主页:MySQL 1. 约束的概述 约束是作用于表中字段的规则,用于限制存储在表中的数据 目的:保证数据库中数据的正确性,有效性和完整性 2....); 如果已经手动指定了null的话,就按照手动指定的,用户指定的优先级高于默认的优先级 2.4 主键约束 主键约束(primary key)是非空(not null)和唯一(unique)的结合,主键约束的列既是非空的也是唯一的...null时,数据库会根据自增原则,自动生成 id 2.4.2 指定列插入: 指定列插入时,也会自动生成 id ,作为数据行的主键 一个表中只能有一个主键,但一个主键可以包含多个列,称为复合主键 2.4.3...8时,就会报错 插入班级表中的id存在的值时,就可以正常插入 2.5.2 删除 子表中的数据的删除没有限制,但是删除主表中的数据时,需要考虑是否子表中还存在对主表的依赖,下面来演示一个例子: --...from student where id = 4; delete from class where id = 3; 2.6 检查约束 check - 保证列中的值符合指定的条件 -- 检查约束 create

    10810

    关于MySQL数据库约束

    数据库约束:      约束是在表上强制执行的数据校验规则,主要用于保证数据库里数据的完整性。      除此之外,当表中的数据存在相互依赖性时,可以保证相关的数据不被删除。...:              建表的同时为相应的数据列指定约束              创建表后,以修改表的方式来增加约束 大部分数据库支持下面5中完整性约束: 1.NOT NULL: 非空约束...虽然唯一约束的列不可以出现重复值,但可以出现多个null值,因为在数据库中null不等于null。...modify name varchar(100) unique; MySQL中删除唯一约束:   语法格式: alter table tableName drop index 约束名;     例句:...4.FOREIGN KEY: 外键约束,指定该行记录从属于主表中的一条记录,主要用于保证参照完整性 5.CHECK(MySQL不支持): 检查约束,指定一个布尔表达式,用于指定对应列的值必须满足该表达式

    98110

    MySQL数据库——数据约束

    概述 数据约束是可选参数,用于约束数据规范,用于保证数据的完整性和一致性。 类型 非空约束 not null,非空约束用于修饰字段不能为控制,不设置默认为null。...默认约束 default,默认约束用于插入值时设置默认值,如果没有值输入,就使用默认值。 主键约束(非空+唯一) primary key ,主键约束要求非空且不可以重复。...用于标记表中的每条记录的唯一性。建议使用和业务关联最强的字段作为主键。 唯一约束 unique,唯一约束要求字段中的值不可以重复,'null’值可以重复。...自增约束 auto_increment,自增涨约束字段会自动约束,自增字段不用设置列的数据,会自动生成一个自增的值。...外键约束 foreign key,外键约束用来建立主表与从表的关联关系,为两个表的数据建立连接,约束两个表中数据的一致性和完整性。

    29.8K105

    MYSQL数据库约束类型

    07.14自我总结 MYSQL数据库约束类型 一.主键约束(primary key) 主键约束要求主键列的数据唯一,并且不能为空。主键分为两种类型:单字段主键和多字段联合主键。...一个表的外键可以为空,若不为空,则每一个外键值必须等于另一个表中主键的某个值。 外键的作用:保证数据应用的完整性。 ​...主表(父表):对于两个具有关联关系的表而言,相关联字段中的主键所在的那个表即是主表。 ​ 从表(子表):对于两个具有关联关系的表而言,相关联字段中的外键所在的那个表即是从表。...add oreign key (从表内的字段) references 主表名称(主表内字段) 三.使用非空约束(Not Null) 非空约束指字段的值不能为空。...) 默认约束指定某列的默认值。

    2.7K10

    MySQL数据库——表的约束(非空约束、唯一约束、主键约束、外键约束)

    目录 1 表的约束 约束,是对表中的数据进行限定,保证数据的正确性、有效性和完整性,约束分为以下几类: 主键约束:primary key 非空约束:not null 唯一约束:unique 外键约束:foreign...UNIQUE ); 注意:MySQL中唯一约束限定的列的值可以有多个null 2)删除唯一约束: -- alter table stu modify number varchar(20); 不同于非空约束的删除方法...所以,基于以上问题,我们可以通过拆表解决,一张员工表,一张部门表,员工表中的dep_id 对应部门表中的id ?...以上仍然存在一个问题,当在员工表中输入不存的部门时,数据依然可以添加,不符合实际,因此,这里就可以通过使用外键约束来解决。 【概念】什么是外键约束?...外键,就是从表中与主表主键对应的那一列,如:员工表中的dep_id,其中,主表是一方,用来约束别人的表,从表可以是多方,被别人约束的表。 注意:外键可以为NULL,但是不能是不存在的外键值。 ?

    14.6K21

    MySQL中的约束和存储引擎

    约束(Constraint) 在创建表的时候,可以给表的字段添加相应的约束,添加约束的目的是为了保证表中数据的合法性、有效性、完整性。 常见的约束有哪些呢?...主键约束(primary key):约束的字段不能重复 外键约束(foreign key):简称FK 检查约束(check) :注意oracle数据库有check约束,但是mysql没有,目前mysql...查看当前mysql支持的存储引擎 show engines Mysql 5.7.27版本支持的存储引擎有9个。 MyISAM存储引擎 MyISAM存储引擎是mysql最常用的引擎。...它管理的表具有下列主要特征: 每个InnoDB表在数据库目录中以.frm格式文件表示 InnoDB表空间tablespace被用于存储表的内容 提供一组用来记录事务性活动的日志文件 用commit(提交...MEMORY存储引擎管理的表具有下列特征: 在数据库目录内,每个表均以.frm格式的文件表示。 表数据及索引被存储在内存中。 表级锁机制。 不能包含TEXT或BLOB字段。

    2K10

    MySQL数据库表约束详解

    1.表的约束的概念 表中一定要有各种约束,通过约束,让我们未来插入数据库表中的数据是符合预期的。约束本质是通过技术手段,倒逼程序员,插入正确的数据。...反过来,站在MySQL的视角,凡是插进来的数据,都是符合数据约束的! 约束的最终目标:保证数据的完整性和可预期性! 下面来介绍一些主流的约束。...站在正常的业务逻辑中: 如果班级没有名字,你不知道你在哪个班级 如果教室名字可以为空,就不知道在哪上课 所以我们在设计数据库表的时候,一定要在表中进行限制,满足上面条件的数据就不能插入到表中。...要注意的是,这只是最后显示的结果,在MySQL中实际存储的还是1。 所以zerofill仅影响显示。...建立外键的本质其实就是把相关性交给mysql去审核了,提前告诉mysql表之间的约束关系,那么当用户插入不符合业务逻辑的数据的时候,mysql不允许你插入 语法: foreign key (字段名)

    7600

    MySQL | 数据库表字段约束

    数据定义语言:字段约束 数据库的范式 构造数据库必须遵循一定的规则,这种规则就是范式 目前关系数据库有 6 种范式,一般情况下,只满足第三范式即可 第一范式:原子性 第一范式是数据库的基本要求,不满足这一点就不是关系数据库...数据表的每一列都是不可分割的基本数据项,同一列中不能有多个值,也不能存在重复的属性。...第二范式:唯一性 数据表中的每条记录必须是唯一的。...字段约束 MySQL 中的字段约束共有四种: 约束名称 关键字 描述 主键约束 PRIMARY KEY 字段值唯一,且不能为 NULL 非空约束 NOT NULL 字段值不能为 NULL 唯一约束 UNIQUE...字段值唯一,且可以为 NULL 外键约束 FOREIGN KEY 保持关联数据的逻辑性 外键约束是唯一不推荐使用的约束 主键约束 主键约束要求字段的值在全表必须唯一,而且不能为 NULL 值 建议主键一定要使用数据类型

    5.7K10

    mysql的约束

    在mysql设计表中,有个概念叫做约束 什么是约束 约束英文:constraint 约束实际上就是表中数据的限制条件 约束种类 mysql的约束大概分为以下几种: 非空约束(not null) 唯一性约束...(非空约束,主键约束,唯一性约束);在后面会使用到外键约束 非空约束 非空约束是我们最常见的一种约束方式,它规定了我们插入数据不允许为空(在mysql中,''不是空,null才是),例如以下插入语句:...主键约束 关于主键约束 表中的某个字段添加主键约束后,该字段为主键字段,主键字段中出现的每一个数据都称为主键值. 表中每一行都应该有可以唯一标识自己的一列(或一组列)。...在我们平时开发中,大部分情况会给表增加一个'id'的主键,用于标识一行数据 主键也是唯一性约束,一个表中不允许出现2条相同的主键信息 一般情况下,'id'主键会设置成自增(auto_increment)...,这里就不多做介绍了 外键约束 若有两个表A、B,id是A的主键,而B中也有id字段,则id就是表B的外键,外键约束主要用来维护两个表之间数据的一致性。

    2.1K10

    【MySQL数据库】详细讲解MySQL的函数和约束作用

    rand();图片四舍五入,并且保留n位小数对number进行四舍五入,并且保留length位小数select round(number,length);图片应用通过数据库的函数,生成一个六位数的随机验证码...:约束是作用于表中字段上的规则,用于限制存储在表中的数据 目的:保证数据库中数据的正确,有效性和完整性 分类: 图片主键约束主键约束(Primary Key Constraint):主键约束用于定义一个唯一标识来标识表中的每一行...;唯一约束唯一约束(Unique Constraint):唯一约束用于确保表中的某个列或一组列的值是唯一的。唯一约束允许空值(NULL),但对于非空值,要求其在列中是唯一的。"...(Check Constraint):检查约束用于限制列中的值必须满足指定的条件。...;非空约束非空约束(Not Null Constraint):非空约束用于确保表中的某个列不接受空值(NULL)。"

    19300
    领券