<MySQL> 数据库约束

您所在的位置:网站首页 数据库中的空值 <MySQL> 数据库约束

<MySQL> 数据库约束

2024-07-10 19:47:00| 来源: 网络整理| 查看: 265

目录

一、数据库约束的概念

二、空值约束(not null)

2.1 语法及演示

三、唯一值约束(unique)

3.1 语法及演示

四、默认值约束(default)

4.1 语法及演示

五、主键约束(primary key)

5.1 主键约束的基本用法

5.2 配合 auto_increment 使用

5.3 以字符串形式保证主键唯一性

六、外键约束(foreign key)

6.1 外键约束的基本用法

6.2 索引

6.3 父表与子表是相互约束的

一、数据库约束的概念

        创建数据表时,为表指定规则,后续的增改删操作,都需要遵循指定的规则。

        数据库的约束,是为了更严格的校验数据,保证数据的正确性,引入了更多的检查操作,但同时也增加了系统开销。

约束类型简介

not null

指定某列不能为 null unique指定某列中的值必须都为该列中的唯一default指定某列在没有赋值时的默认值primary key指定某列或多列的结合,有且只有唯一标识foreign key保证一个表中的数据匹配另一个表中的对应数据check保证列中的值符合指定条件,MySQL中无该功能(不做介绍) 二、空值约束(not null) 2.1 语法及演示 语法

create table 表名(列名 类型 not null, ......);

解释创建表,表中某列或多列数据增加空值约束;

三、唯一值约束(unique) 3.1 语法及演示 语法

create table 表名(列名 类型 unique, ......);

解释创建表,表中某列或多列数据增加唯一值约束;

四、默认值约束(default) 4.1 语法及演示 语法

create table 表名(列名 类型 default 默认值, ......);

解释

创建表,表中某列或多列数据增加默认值约束;

(如果没有指定默认值,则当数据为空时,系统将默认返回 null )

五、主键约束(primary key) 5.1 主键约束的基本用法 概念被主键约束的列是非空且唯一的,它集合了 not null 和 unique 的特点。作用主键的使用是为了确保某列或多列的结合有唯一身份标识,有助于便捷地找到表中地对应记录。特点一个表只能有一个主键。语法

create table 表名(列名 类型 primary key, ......);

解释

创建表,表中某列数据或多列数据的结合增加主键约束;

5.2 配合 auto_increment 使用 关键字auto_increment作用自动增量,自增主键。适用情况适用于整型数据。适用于数据储存于单个数据库服务器的情况。语法

create table 表名(列名 类型 primary key auto_increment, ......);

解释

创建表,表中某列数据或多列数据的结合增加主键约束,主键根据最大值自动增量;

5.3 以字符串形式保证主键唯一性

        当数据分散储存在多个服务器时,主键自增将无法生效(每台服务器的主键将各自自增,无法关联)。

        在多服务器情况下,通常使用字符串形式生成主键的方式,确保主键唯一性,方法如下:

时间戳+服务器编号+随机因子在不同时刻将生成不同的字符串不同的主机将生成各自的字符串随机生成的字符串 六、外键约束(foreign key) 6.1 外键约束的基本用法 作用用于关联其他表的主键或唯一键,以达到表格互相约束的目的。概念

子表:被约束的表叫做子表。

父表:约束其他表的表称为父表。

语法

create table 表名(列名 类型 , ...... , foreign key(本表约束列名) references 父表名(父表约束列名));

解释

创建表,表中某列数据作为约束和父表约束列相关联。

6.2 索引

        子表在数据行创建时,会检查数据行的外键约束列是否为父表关联列的合法数值,从而确定子表数据行是否插入成功。这里使用的检查方式,就是通过查询索引完成的。

        只有在表创建时,指定了主键约束,索引才能创建成功。因此,如果一个数据表需要作为父表,那么这个表就必须指定主键约束。 

6.3 父表与子表是相互约束的

         从上文可以看到,父表对子表插入的数据行是存在约束的,只有子表数据行的外键约束列数值为父表关联列的合法数值时,数据行才能插入成功。

        同样的,子表对父表也存在约束。在父表删除数据行时,如果关联列对应的子表外键约束仍存在数据,那么父表对应的数据行不能被删除。

沿用上表:

阅读指针 -> 《MySQL表数据的 CRUD 进阶操作 -- 聚合查询》

<MySQL> 查询数据进阶操作 -- 聚合查询-CSDN博客文章浏览阅读51次。聚合查询:使用聚合函数,使用分组查询group by,和分组查询后的条件筛选 havinghttps://blog.csdn.net/zzy734437202/article/details/134411369 



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭