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;
相关推荐
我是一颗柠檬11 小时前
【MySQL全面教学】MySQL面试高频考点汇总Day15(2026年)
数据库·后端·mysql·面试
凯瑟琳.奥古斯特12 小时前
高阶子查询题目精炼
开发语言·数据库·python·职场和发展·数据库开发
身如柳絮随风扬12 小时前
数据库读写分离:从原理到实战,构建高并发系统
数据库·mysql
提笔了无痕13 小时前
RAG存储策略中.md格式的切片与存储怎么处理
数据库·ai·rag
陳土13 小时前
DuckDB精读——基于Getting started with DuckDB
数据库·oracle
凯瑟琳.奥古斯特14 小时前
数据库原理选择题精选
数据库·python·职场和发展
曹牧14 小时前
C#:主线程能够捕获到子线程中的异常
开发语言·数据库·c#
朝阳58114 小时前
MongoDB 副本集从零搭建到生产可用
数据库·mongodb