对于关系型数据库 MySQL 前面一节已经讲过表相关操作,如感兴趣戳此直达[关系型数据库 MySQL 表相关操作],对于已经创建好的表,虽然字段的数据类型决定了所能存储的数据类型,但是表中所存储的数据是否合法并没有进行检查,想要对这些数据进行检查时,就可以通过约束来完成。
所谓完整性是指数据的准确性和一致性,而完整性检查是指检查数据的准确性和一致性。
MySQL中,常用的几种约束
关键字
not null
Default
unique
primary key
auto_increment
foreign key
1、 非空约束(NOT NULL,NK)
当数据库表的某个字段不希望设置为空时(NULL),则在该字段上加上 “NOT NULL” 约束条件,保证所有记录中该字段都有值。若该字段为空,则数据库会报错。非空约束用于确保当前列的值不为空值,非空约束只能出现在表对象的列上。
基本语法如下:
--> 取消非空约束
2、 默认值(default)
当数据库表中插入一条新纪录时,如果没有为某个字段赋值,那么数据库系统就会自动为这个字段插入默认值。
注:字符串要使用双引号,MySQL 5.5 中是可以使用单引号的。
3、唯一约束(unique, UK)
当数据库表中的某个字段上的内容不允许重复时,则可以使用 UK 约束进行设置。即可保证数据库表中的值不重复。唯一约束是指定 table 的列或列组合不能重复,保证数据的唯一性。唯一约束不允许出现重复的值,但是可以为多个 null。
同一个表可以有多个唯一约束,多个列组合的约束。在创建唯一约束时,如果不给唯一约束名称,就默认和列名相同。唯一约束不仅可以在一个表内创建,而且可以同时多表创建组合唯一约束。
基本语法如下:
-- 创建表时设置,表示用户名、密码不能重复
-- 添加唯一约束
-- 修改唯一约束
-- 删除约束
4、主键约束(primary key,PK)
主键约束(PK)primary key 在创建数据库表时为某些字段加上 “PRIMARY KEY" 约束条件,则该字段可以唯一标识所有记录。PK 约束必须满足主键字段的值唯一、非空。
主键约束相当于 唯一约束+ 非空约束 的组合,主键约束列不允许重复,也不允许出现空值。
每个表最多只允许一个主键,建立主键约束可以在列级别创建,也可以在表级别创建。
当创建主键的约束时,系统默认会在所在的列和列组合上建立对应的唯一索引。
-- 删除主键约束
-- 添加主键约束
-- 修改主键约束
5、 字段值自动增加(AUTO_INCREMENT)
Auto_increment 是 MySQL 唯一扩展的完整性约束,当为数据库表中插入新纪录时,字段上的值会自动生成唯一的 ID。在具体设置 AUTO_INCREMENT 约束时,一个数据库表中只能有一个字段使用该约束,该字段的数据类型必须是整数类型。由于设置了AUTO_INCREMENT 约束后的字段会生成唯一的 ID,所以该字段也经常会设置成 PK 主键。
基本语法如下:
在上述语句中,属性名参数表示所要设置自动增加的约束的字段名字,在默认情况下,该字段的值是从 1 开始增加的,每增加一条记录,记录中该字段的值就会在前一条记录的基础上加 1。
6、 外键约束(FOREIGN KEY,FK)
设置外键约束的两个表之间具有父子关系,即子表中某个字段的取值范围由父表决定。
外键约束是保证一个或两个表之间的参照完整性,外键是构建于一个表的两个字段或是两个表的两个字段之间的参照关系。
基本语法格式如下:
-- 基本模式
-- 多列外键组合,必须用表级别约束语法
-- 删除外键约束
-- 增加外键约束
推荐阅读:
模拟真实环境下超简单超详细的 MySQL 5.7 安装
《搜索引擎百度已死》朋友圈刷屏之后
具有百度云会员功能的百度云盘下载器
你,已经很久没发朋友圈了
MySQL 基础知识学习
周末面基后的碎碎念
十大资源分享篇一
资源分享:
5T 技术资源大放送!包括但不限于:Linux、Python、Oracle、MySQL、Java、前端、大数据、人工智能等,具体获取方式可关注本公众号或者添加我微信获取~~

添加微信,可加入资源技术交流群
长按 识别二维码 即可关注!
点赞是一种态度,走过路过,千万不要错过这个 好看 活动哦!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/64554.html