当前位置: 首页 > news >正文

主键与唯一键详解:概念、区别与面试要点

主键与唯一键详解:概念、区别与面试要点

一、核心概念解析

1.1 主键(Primary Key)

主键是数据库表中用于唯一标识每一行记录的列或列组合,具有以下核心特性:

  • 唯一性:主键值在整个表中必须唯一,不允许重复
  • 非空性:主键列不允许包含NULL值
  • 不可变性:主键值一旦确立,原则上不应修改
  • 索引自动创建:大多数DBMS会自动为主键创建聚集索引(Clustered Index)

主键是关系型数据库的基石,它建立了表之间的引用完整性基础,是外键(Foreign Key)引用的目标。

1.2 唯一键(Unique Key)

唯一键是保证列或列组合值唯一的约束,主要特性包括:

  • 唯一性:与主键相同,保证值的唯一性
  • 可空性:允许包含NULL值(但多数DBMS中NULL值只能出现一次)
  • 多约束支持:一个表可以定义多个唯一键
  • 非聚集索引:通常自动创建非聚集索引(Non-clustered Index)

唯一键常用于业务上需要唯一性但不适合作为主键的场景,如用户邮箱、身份证号等。

二、关键技术区别

2.1 基础特性对比

特性主键(Primary Key)唯一键(Unique Key)
NULL值允许不允许允许(有限制)
数量限制每表仅一个

相关文章:

  • uniapp-商城-72-shop(5-商品列表,购物车实现回顾)
  • 触觉智能RK3506星闪开发板规格书 型号IDO-EVB3506-V1
  • STM32之IIC(重点)和OLED屏
  • 开源模型应用落地-模型上下文协议(MCP)-安全认证的创新与实践探索(十)
  • Win键+R键快捷命令汇总
  • Linux 资源限制(进程级,用户级,系统级)
  • [特殊字符]《计算机组成原理》第 8 章 - CPU 的结构和功能
  • ROS2学习(15)------ROS2 TF2 机器人坐标系管理器
  • 使用硬件调试器认识arm64的四大特权级
  • WPF【11_1】WPF实战-重构与美化(Entity Framework)
  • 【网络编程】十七、多路转接之 epoll
  • 想查看或修改 MinIO 桶的匿名访问权限(public/private/custom)
  • gdiplus,GDI +为什么2001年发布后几乎没有再更新了
  • 使用堡塔和XShell
  • @recogito/annotorious图像标注库
  • 哪些情况索引会失效?
  • 在VSTO C#中获取Excel范围内最后一个非空单元格,可以通过以下几种方法实现
  • vue+threeJs 创建多色几何体+加载obj模型+跳转ojb模型中心
  • 第五章 文件内容显示
  • Java设计模式之职责链模式详解
  • 嘉兴企业网站建设推广/嵌入式培训班一般多少钱
  • 企业网站开发韵茵/外贸平台有哪些比较好
  • 如何评价网站是否做的好/网络销售怎么学
  • 自己用笔记本做网站/百度推广电话是多少
  • 做网站注意哪方面/全网推广的方式
  • 为什么有人做商城优惠券网站卖/宁波seo行者seo09