我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL数据库表约束讲解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL数据库表约束讲解

MySQL数据库表约束

为了防止往数据表中插入错误的数据,在MySQL中,定义了一些维护数据库完整性的规则,即表的约束。

常见的表的约束:

MySQL数据库表约束讲解

上表中列举的约束条件都是针对表中字段进行限制, 从而保证数据表中数据的正确性和唯一性。

一、主键约束

在MySQL中,为了快速查找表中的某条信息,可以通过设置主键来实现。主键约束是通过PRIMARY KEY定义的,它可以唯一标识表中的记录,这就好比身份证可以用来标识人的身份一样。

在MySQL中,主键约束分两种,具体如下:

1、单字段主键

单字段主键指的是由一个字段构成的主键,其基本语法如下:

MySQL数据库表约束讲解

上述案例中,表student创建了id、name和grade三个字段,其中id字段是主键。

2、多字段主键

多字段主键指的是多个字段组合而成的主键,其基本的语法格式如下所示:

MySQL数据库表约束讲解

上述案例中,表student创建了id、name和grade三个字段,其中id和name两个字段组合可以唯一确定一条记录。

【补充】一个表最多可以创建一个主键。

二、外键约束

如果表A的主键是表B中的字段,则该字段称为表B的外键;另外表A称为主表,表B称为从表。外键是用来

实现参照完整性的,不同的外键约束方式将可以使两张表紧密的结合起来,特别是修改或删除的级联操作将使

得日常维护更轻松。外键主要用来保证数据的完整性和一致性。其基本语法如下:

MySQL数据库表约束讲解

【补充】一个表允许有多个外键,且外键只适用于InnoDB表,MyISAM表不支持外键。

InnoDB表和MyISAM表的主要区别是:InnoDB表支持事务、行锁和外键,MyISAM不支持;InnoDB表索引式修改效率较MyISAM高,MyISAM表查询、插入和删除效率较InnoDB高,而且MyISAM索引和数据分离,索引压缩存储,而InnoDB索引和数据紧密结合,不支持压缩,所以MyISAM内存利用率比InnoDB高;另外MyISAM的移植性也更强。

三、非空约束

非空约束指的是字段的值不能为NULL,在MySQL中,非空约束是通过NOT NULL定义的,其基本语法

如下:

MySQL数据库表约束讲解

上述案例中,表student包含id、name和grade三个字段。其中id为主键,name为非空字段。

【补充】一个表可以有多个非空约束字段。

四、唯一约束

唯一约束用于保存数据表中字段的唯一性,类似于主键,即表中字段值不能重复出现。

唯一约束是通过UNIQUE定义的,其基本语法如下:

MySQL数据库表约束讲解

上述案例中,表student包含id、name和grade三个字段。其中id为主键,name字段为唯一值,不能重复。

【补充】一个表可以有多个唯一约束字段。

五、默认约束

默认约束用于给数据表中的字段指定默认值,即当在表中插入一条新纪录时,如果没有给这个字段赋值,那么,数据库系统会自动为这个字段插入默认值。

默认值是通过DEFAULT关键字定义的,其基本语法如下:

MySQL数据库表约束讲解

上述案例中,表student包含id、name和grade三个字段。其中id为主键,grade字段的默认值为0。

【补充】一个表可以有多个默认约束字段。

六、自增约束

在数据表中,若想为表中插入新记录自动生成唯一的ID,可以使用AUTO_INCREMENT约束来实现。

AUTO_INCREMENT约束的字段可以是任何整数类型。默认情况下,改字段的值是从1开始自增的。

其基本语法如下:

MySQL数据库表约束讲解

上述案例中,表student包含id、name和grade三个字段。其中id为主键,且没插入一条新纪录,id都会自动增加。

【补充】一个表只能设置一个自增约束字段。

数据库建表的约束条件

常用约束条件及简单介绍

primary key (PK)   #标识该字段为该表的主键,可以唯一的标识记录,主键就是不为空 且唯一当然其还有加速查询的作用
foreign key (FK)   #标识该字段为该表的外键,用来建立表与表的关联关系
not null       #标识该字段不能为空
unique key (UK)    #标识该字段的值是唯一的
auto_increment    #标识该字段的值自动增长(整数类型,而且为主键)
default        #为该字段设置默认值
unsigned       #将整型设置为无符号即正数
zerofill       #不够使用0进行填充

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。           

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL数据库表约束讲解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL数据库表约束讲解

目录mysql数据库表约束一、主键约束二、外键约束三、非空约束四、唯一约束五、默认约束六、自增约束数据库建表的约束条件常用约束条件及简单介绍MySQL数据库表约束为了防止往数据表中插入错误的数据,在MySQL中,定义了一些维护数据库完整性
2022-06-20

MySQL数据库约束操作示例讲解

目录一、约束是什么二、约束的具体操作Not NULLUNIQUE约束的组合使用PRIMARY KEYDEFAULTFOREIGN KEY一、约束是什么约束就是,在创建表的时候,对表设置一些规则,只有满足这些规则,才可以插入数据,我们把这些
2022-11-15

MySQL示例讲解数据库约束以及表的设计

目录数据库约束not nulluniquedefaultprimary key 主键foreign key 外键check表的设计一对一一对多多对多数据库约束not null指定某列的存储不能为null值create table st
2022-06-16

MySQL数据库表中的约束详解

目录mysql表中的约束(constraint)约束分类非空约束唯一性约束复合约束主键约束自增列-AUTO_INCREMENTlzqXVuAOKT外键约束FOREIGN KEY约束CHECK约束DEFAULT约束MySQL表中的约束(con
2023-03-02

MySQL数据库之表的约束图文详解

目录一、表的约束二、空属性三、默认值四、列描述五、zerofill六、主键七、自增长八、唯一键九、外键总结一、表的约束前面我们所讲到的数据类型就是一种表的约束。为什么这么说呢?因为数据类型有自己的大小,也就是我们插入的数据是有范围的,不能
MySQL数据库之表的约束图文详解
2024-09-30

MySQL总结(七)数据库表的约束-详解

数据库表的约束1. 数据库约束的概述1.1 约束的作用:对表中的数据进行限制,保证数据的正确性、有效性和完整性。一个表如果添加了约束,不正确的数据将无法插入到表中。约束在创建表的时候添加比较合适。1.2 约束种类:约束名约束关键字特点主键primary key
MySQL总结(七)数据库表的约束-详解
2017-04-03

MySQL数据库的约束

文章目录 一、约束是什么?二、约束的具体操作Not NULLUNIQUE约束的组合使用PRIMARY KEYDEFAULTFOREIGN KEY 一、约束是什么? 约束就是,在创建表的时候,对表设置一些规则,只有满足这些规
2023-08-30

从 MySQL 数据库获取约束列表?

要从 MySQL 数据库获取约束列表,请使用以下语法 -select *from information_schema.table_constraints where constraint_schema = yourDatabaseName
2023-10-22

MySQL数据库表中的约束有哪些

这篇文章主要讲解了“MySQL数据库表中的约束有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据库表中的约束有哪些”吧!MySQL表中的约束(constraint)为了保证数
2023-07-05

MySQL数据库怎么给表设置约束

今天小编给大家分享一下MySQL数据库怎么给表设置约束的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、PK(主键约束)1、
2023-06-29

数据库---约束

一、概述       创建表的时候可以给表中的数据添加数据校验规则,这些规则称之为约束。在创建表的时候,同时可以指定所插入数据的一些规则,比如某个字段不能为空值;某个字段的值(比如年龄)不能小于零等等。这些规则称为约束。约束是在表上强制执行的数据校验规则,它提
数据库---约束
2016-09-13

MySQL数据库的约束限制详解

这篇文章主要介绍了MySQL数据库的约束限制详解,数据库的约束是对表中数据进行的一种限制,为了保证数据的正确性、有效性、完整性,下文简单介绍需要的朋友可以参考一下
2022-11-13

MySQL字段约束及多表查询---讲解三

前言:mysql的字段约束是以后必不可免的,下面主要写了四个:主键约束用于唯一且不能为空;非空约束即不能为空可以重复;唯一约束即可以为空但必须唯一;外键约束是让表与表之间有一定的关联;当然如何使用还看下文,多表就不在这总结了。如果你对前面的知识有所遗忘或感兴趣
MySQL字段约束及多表查询---讲解三
2014-06-19

编程热搜

目录