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


    在这里插入图片描述

    🙋‍ 哈喽大家好,本次是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。
    在这里插入图片描述
    在这里插入图片描述

    添加主键约束

    在这里插入图片描述

    总结

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

  • 相关阅读:
    C语言详解(预编译)
    基于SWAT-MODFLOW地表水与地下水耦合
    win10安全中心打开是空白的怎么解决
    Hadoop 3.x(入门)----【Hadoop概述】
    Spring 源码(7)Spring的注解是如何解析的?
    异常是怎么被处理的?这题的答案不在源码里面。
    hbase建表时设置预分区
    arm ldrb指令
    【JavaWeb】第一章 HTML标签
    单调栈及其应用
  • 原文地址:https://blog.csdn.net/m0_55394328/article/details/127577865