MySQL-基础篇-约束

  • 约束

    • 概述

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

      • 目的:保证数据库中数据的正确、有效性和完整性。

      • 分类

          • 注意:约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。
          • 补充
            • MySQL数据库中主键自增的关键字:AUTO_INCREMENT。
            • 检查约束CHECK中的多个条件之间用&&连接。
    • 外键约束

      • 概念:外键用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。

          • 注意:目前上述的两张表,在数据库层面,并未建立外键关联(逻辑外键),所以是无法保证数据的一致性和完整性的。
      • 添加外键

        • 建表时添加外键

          sql 复制代码
            CREATE TABLE 表名(
                字段名 数据类型,
                ...,
                [CONSTRAINT] [外键名称] FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名)
            );
        • 建表后添加外键

          sql 复制代码
            ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名);
      • 删除外键

        sql 复制代码
          ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;
      • 删除/更新行为

        • 更改外键删除/更新行为的语法(以CASCADE为例)

          sql 复制代码
            ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段) REFERENCES 主表名(主表字段名) 
            	ON UPDATE CASCADE ON DELETE CASCADE;
相关推荐
ZhengEnCi18 小时前
S02-SpringBoot实体类新增字段对已有数据的影响及自动DDL同步机制详解
数据库·spring boot
妙码生花18 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(三十二):增加 admin_rule 模型及数据表迁移
数据库·go·ai编程
千维百策66619 小时前
SRE 中如何消除琐务:提升工程效率与服务可靠性的实践方法
数据库
卓怡学长19 小时前
w266基于spring boot + vue 圣地延安美食乐享系统
java·数据库·vue.js·spring boot·spring·intellij-idea
名不经传的养虾人20 小时前
从0到1:企业级AI项目迭代日记 Vol.65|最危险的故障不是崩溃,是悄悄换掉了正确答案
数据库·人工智能·ai编程·ai-agent·企业ai
程序员佳佳20 小时前
模型网关灰度不是调百分比:把放量、观测和回滚做成账本
java·数据库·人工智能·redis·gpt·aigc·embedding
绩隐金20 小时前
用AI开了本小说 九折归潮
数据库
heimeiyingwang20 小时前
【架构实战】MySQL索引优化:从慢查询到毫秒响应
数据库·mysql·架构
得闲喝茶20 小时前
跨表数据匹配——VLOOKUP、XLOOKUP
大数据·数据库·笔记·信息可视化·数据分析·excel
snow@li20 小时前
数据库:如何设计最佳索引 / 数据库最佳索引设计指南
数据库