欢迎投稿

今日深度:

MySQL中检查约束举例详细讲解,

MySQL中检查约束举例详细讲解,


目录
  • 一. 简介
  • 二. 主键约束(primary key)
    • 1. 添加主键约束
    • 2. 删除主键
  • 三. 外键约束(Foreign Key)
    • 1. 添加外键
    • 2. 删除外键
  • 四. 唯一性约束(Unique)
    • 1. 添加唯一约束
    • 2. 删除唯一约束
  • 五. 非空约束(Not Null)
    • 1. 添加非空约束
    • 2. 删除非空约束
  • 六. 创建表时添加约束
    • 七. 总结

      一. 简介

      检察约束属于DDL

      约束可以理解成一种校验方式

       一共有5种约束,现在分别讲解一下

      • 主键约束(Primary Key)

        不允许为空

        不允许有重复值出现

        保证数据的唯一性

      • 外键约束(Foreign Key)

        允许有空值

        允许有重复

        值必须是参照表的参照列中所包含的值

        保证数据的参照完整性

      • 唯一性约束(Unique)

        相同值只能出现一次

        允许为多个列添加唯一性约束

        保证数据的唯一性

      • 非空约束(Not Null)

        列中不能有空值

        允许重复值

        允许为多个列添加非空约束

        保证数据没有空值

      • 检查约束(Check)

        用户自己定义约束条件

        保证数据满足自定义的条件约束

        MySQL 目前不支持检查约束

      二. 主键约束(primary key

      1. 添加主键约束

      alter table 表名 add primary key(列名)

      显然这里的id字段(列)要设置成主键

      alter table students add primary key(id);

      因为是主键,那么在当前表中是唯一的

      如果主键是 int 型,那么就可以使用自动增长

      alter table 表名 modify 主键 类型 auto_increment

      alter table student modify id int auto_increment

      2. 删除主键

      alter table 表名 drop primary key

      alter table students drop primary key;

      三. 外键约束(Foreign Key)

      1. 添加外键

      alter table 表名 add constraint 约束名 foreign key(列名) references 参照的表名(参照的列名)单词:

      constraint : 约束

      references:引用

      alter table students
      add constraint fk_students_courses
      foreign key (course_id)
      references courses(id);  

      2. 删除外键

      alter table 表名 drop foreign key 约束名

      alter table students
      drop foreign key fk_students_courses;    

      四. 唯一性约束(Unique)

      1. 添加唯一约束

      alter table 表名 add constraint 约束名 unique(列名)

      alter table students
      add constraint uk_students_name
      unique (name);  

      2. 删除唯一约束

      alter table 表名 drop key 约束名

      alter table students
      drop key uk_students_name;    
      

      五. 非空约束(Not Null)

      1. 添加非空约束

      alter table 表名 modify 列名 类型 not null单词:

      modify:修改

      在修改的时候添加非空约束

      alter table students
      modify name varchar(50) not null;   

      2. 删除非空约束

      alter table modify 列名 类型 null

      alter table students
      modify name varchar(50) null;  

      六. 创建表时添加约束

      直接可以在创建的时候顺便添加约束

      create table enhanced_students (
          -- 添加主键约束,并自动增长
          id int auto_increment primary key,
          -- 添加非空约束(不能为空)
          name varchar(50) not null,
          gender enum('男', '女') not null,
          -- 添加唯一约束
          students_name varchar(30) unique
      );    
      

      七. 总结

      到此这篇关于MySQL中检查约束的文章就介绍到这了,更多相关MySQL检查约束内容请搜索PHP之友以前的文章或继续浏览下面的相关文章希望大家以后多多支持PHP之友!

      您可能感兴趣的文章:
      • MySQL 8.0 新特性之检查约束的实现
      • MySQL使用触发器如何实现CHECK检查约束的功能

      www.htsjk.Com true http://www.htsjk.com/Mysql/48907.html NewsArticle MySQL中检查约束举例详细讲解, 目录 一. 简介 二. 主键约束(primary key) 1. 添加主键约束 2. 删除主键 三. 外键约束(Foreign Key) 1. 添加外键 2. 删除外键 四. 唯一性约束(Unique) 1. 添加唯一约...
      评论暂时关闭