首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【MySQL】表的约束

【MySQL】表的约束

作者头像
六点半就起.
发布2025-08-19 11:37:50
发布2025-08-19 11:37:50
1380
举报

前言

空属性

两个值:null(默认的)和not null(不为空)

自增(auto_increment)

自增长的特点:

  1. 任何一个字段要做自增长,前提是本身是一个索引(key一栏有值)
  2. 自增长字段必须是整数
  3. 一张表最多只能有一个自增长

获取上次插入的 AUTO_INCREMENT 的值:select last_insert_id();

主键(primary key)

primary key用来唯一的约束该字段里面的数据,不能重复,不能为空一张表中最多只能有一个主键;

  1. 新增主键:alter table tb2 add prinary key(欲为主键column)
  2. 删除主键: alter table tb2 drop primary key; # 主键唯一不用指明具体column;
  3. 当主键加上auto_increment约束后,如果欲删除主键,仅仅alter table tb2 drop primary key;不行,需要先去自增约束,再alter table tb2 drop primary key;
  1. 复合主键:有多个字段共同作为主键
唯一键(unique)
  1. 一张表中有往往有多个字段需要唯一性数据不能重复,但是一张表中只能有一个主键:唯一键就可以解决表中有多个字段需要唯一性约束的问题
  2. 唯一键允许为空,而且可以多个为空,空字段不做唯一性比较。
  3. 唯一键和主键的区别: 主键不能为空,唯一键可以; 主键更多的是标识唯一性的。而唯一键更多的是保证在业务上,不要和别的信息 出现重复。
外键(foreign key (字段名) references 主表(列))
  1. 外键用于定义主表和从表之间的关系
  2. 外键约束主要定义在从表上,主表则必须是有主键约束或unique约束
  3. 参照完整性:当定义外键后,要求外键列数据必须在主表的主键列“存在或为null”。 举例:班级表id只有10,20;向从表插入时的class_id的值只能为10 / 20 / null;
  4. 数据一致性:当对主表中的主键数据进行修改(如更新或删除)时 ,通过设置外键约束的 ON DELETE 和 ON UPDATE 选项(如 CASCADE、SET NULL 等),可以自动、一致地更新或处理从表中的相关数据。
列描述(comment)/ 默认值(default)

列描述:类似于注释 默认值:类似于缺省值 举例:gender char(2) default ‘男’ comment '性别‘ # 都是单引号

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • 空属性
    • 自增(auto_increment)
    • 主键(primary key)
    • 唯一键(unique)
    • 外键(foreign key (字段名) references 主表(列))
    • 列描述(comment)/ 默认值(default)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档