MySQL--约束

概述

  1. 概念:约束作用于表中字段上的规则,用于限制存储再表中的数据。

  2. 作用:保证数据库中的数据的正确、有效性和完整性。

  3. 分类:

约束 描述 关键字
非空约束 限制该字段的数据不能为null NOT NULL
唯一约束 保证该字段的所有数据都是唯一 UNIQUE
主键约束 主键是一行数据的唯一标识,要求非空且唯一 PRIMARY KEY
默认约束 保存数据时,如果未指定该字段的值,则采用默认值 DEFAULT
检查约束 保证字段值满足某一条件 CHECK
外键约束 用来让两张表的数据之间建立连接,保证数据的一致性和完整性 FOREIGN KEY

注意:约束时作用于表中字段的,可以创建表、修改表的时候添加约束。


案例:根据需求,完成表结构的创建

字段名 字段含义 字段类型 约束条件 约束关键字
id ID唯一标识符 int unsigned 主键,自动增长 PRIMARY KEY,AUTO_INCREMENT
name 姓名 varchar(10) 不为空,且唯一 NOT NULL, UNIQUE
age 年龄 TINYINT UNSIGNED 大于0,且小于150 CHECK
status 状态 char(1) 默认值1 DEFAULT
gender 性别 char(1)

外键约束

  • 语法

      CREATE TABLE 表名(
                 字段名 数据类型
                 ...
                 [CONSTRAINT][外键名称] FOREIGN KEY(外键字段名) REFERENCES             
                 主表(主表列名)
      );
    

    ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名);

  • 删除外键
    ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;

posted @   nakejimamiyuki  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示