首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【MySQL知识点】唯一约束、主键约束

【MySQL知识点】唯一约束、主键约束

作者头像
颜颜yan_
发布2022-12-01 19:29:37
发布2022-12-01 19:29:37
3.9K0
举报

🙋‍ 哈喽大家好,本次是MySQL数据库原理系列第七期 ⭐本期是MySQL的表的约束——唯一约束、主键约束 🏆系列专栏:MySQL数据库 😄笔者还是前端的菜鸟,还请大家多多指教呀~ 👍欢迎大佬指正,一起学习,一起加油!


文章目录


前言

本期学习唯一约束、主键约束噢~


唯一约束

定义

唯一约束用于保证数据表中字段的唯一性,即表中字段的值不能重复出现。唯一约束是通过unique定义的。语法如下:

#列级约束 字段名 数据类型 unique; #表级约束 unique(字段名1,字段名2…);

列级约束定义在一个列上,只对该列起约束作用。 表级约束是独立于列的定义,可以应用在一个表的多个列上。

插入数据

如下,我们创建my_unique1和my_unique2两个表来进行测试,为两个表分别添加列级约束和表级约束,然后查看表的结构,会发现两个表的结构是相同的。 当表级约束仅建立在一个字段上时,其作用效果与列级效果相同。

由以下结果我们可以发现,添加唯一约束后,插入重复记录会失败。

添加和删除唯一约束

若为一个现有的表添加或删除唯一约束,无法通过修改字段属性的方式操作,而是按照索引的方式来操作。

创建复合唯一约束

在表级唯一性约束创建时,unique()的字段列表中,可以添加多个字段,组成复合唯一键,特点是只有多个字段的值相同时才视为重复记录。

主键约束

定义

在MySQL中,为了快速查找表中的某条信息,可以通过设置主键实现。主键可以唯一标识表中的记录。主键约束通过primary key 定义,它相当于唯一约束和非空约束的组合,要求被约束字段不允许重复,也不允许出现null值。 每个表中最多只允许含有一个主键 主键约束的创建分为列级和表级,语法如下:

列级约束: 字段名 数据类型 primary key 表级约束: primary key(字段名1,字段名2,…)

表级约束的字段若只有一个,则为单字段主键与列级约束添加的效果相同;若有多个,则为复合主键,复合主键需要用多个字段来确定一条记录的唯一性,类似于复合唯一键。

测试

我们创建一个表进行测试,为id添加主键约束,查看表结构,由图可以看出,id字段的key列为PRI,表示该字段为主键,同时,id字段的null列为NO,表示该字段不能为NULL。

插入数据

插入NULL时,会插入失败,提示id字段不能为NULL

插入重复值也会失败,提示”1“已经存在主键。

删除主键约束

由下图我们可以发现,删除主键约束后,非空约束并没有删除,如果需要删除非空约束,则需要使用modify。

添加主键约束

总结

以上就是今天的学习内容啦~ 如果有兴趣的话可以订阅专栏,持续更新呢~ 咱们下期再见~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 前言
  • 唯一约束
    • 定义
    • 插入数据
    • 添加和删除唯一约束
    • 创建复合唯一约束
  • 主键约束
    • 定义
    • 测试
      • 插入数据
      • 删除主键约束
      • 添加主键约束
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档