当前位置:网站首页 > SQL数据库编程 > 正文

mysql的主键约束相当于唯一约束和什么约束的组合(mysql主键约束关键字是什么)



对于关系型数据库 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、前端、大数据、人工智能等,具体获取方式可关注本公众号或者添加我微信获取~~

添加微信,可加入资源技术交流群

长按 识别二维码 即可关注!

点赞是一种态度,走过路过,千万不要错过这个 好看 活动哦!

到此这篇mysql的主键约束相当于唯一约束和什么约束的组合(mysql主键约束关键字是什么)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • sql文件怎么导入mysql(sql文件怎么导入mysql5.7)2026-01-16 21:27:07
  • sql窗口函数(SQL窗口函数是什么)2026-01-16 21:27:07
  • orecle和mysql区别(oracal和mysql的区别)2026-01-16 21:27:07
  • sqlloader 字符集(sqlldr 设置字符集)2026-01-16 21:27:07
  • sqlldr只导入指定字段(sqlldr导入指定字段为null)2026-01-16 21:27:07
  • mysql 主键(mysql主键和外键的建立)2026-01-16 21:27:07
  • orical与mysql的区别(mysqloracle区别)2026-01-16 21:27:07
  • mysql主键(mysql主键和外键的建立)2026-01-16 21:27:07
  • sql文件怎么导入数据库dbeaver(sql文件怎么导入数据库mysql workbench)2026-01-16 21:27:07
  • pyspark读取mysql(PySpark读取Hive)2026-01-16 21:27:07
  • 全屏图片