2020-08-12约束

约束

  • 概念
    对表中的数据进行限定,保证数据的正确性、有效性和完整性
  • 分类
    1.主键约束:primary key
  1. 非空约束:not null
  2. 唯一约束:unique
  3. 外键约束:foreign key

非空约束

某一列的值不能为NULL

  • 在创建表时添加约束
create table stu(
id int,
name varchar(20) NOT NULL;
);
  • 删除约束
    alter table stu change name varchar(20);
  • 创建完表之后添加约束
    alter table stu change name varchar(20) NOT NULL;

唯一约束

某一列的值不能重复

  • 在创建表时添加
create table stu(
id int,
phone_number varchar(20) UNIQUE
);
  • 删除唯一约束
    alter table stu drop index phone_number;
  • 在创建表之后添加唯一约束
    alter table stu modify phone_number varchar(20);
  • 注意
    ①唯一约束可以有null值,但是每一列只能有一行为null;

主键约束

  • 注意
    ①含义:非空且唯一
    ②一张表只能有一个字段为主键
    ③主键就是表中记录的唯一标识
  • 创建表时添加主键
create table stu(
id int primary key,
name varchar(20)
);
  • 删除主键
    alter table stu drop primary key;
  • 创建完表之后,添加主键
    alter table stu modify id int primary key;
  • 自动增长
    概念:如果某一列是数值类型的,使用auto_increment可以来完成值的自动增长
  1. 创建表时,设置主键,并设置为自动增长
create table stu(
id int primary key auto_increment,
name varchar(20)
)
  1. 删除自动增长
    alter table stu modify id int;//无法去掉主键,但是可以取掉自动增长
  2. 添加自动增长
    alter table stu modify id int AUTO_INCREMENT

外键约束

让表与表产生关系,从而保证数据的正确性

  • 在创建表时,添加外键
create table 表名(
...
外键列
constraint 外键名称 foreign key (外键列名) references 主表名称(主表列名)
)
  • 如何删除外键
    alter table 表名 drop foreign key 外键名;
  • 添加外键
    alter table 表名 add constraint 外键名 foreign key (外键列名) references 主表名称(主表列名)
  • 级联更新
    alter table 表名 add constraint 外键名 foreign key 外键列名 references 主表名称(主表列名)on update cascade;
  • 级联删除
    alter table 表名 add constraint 外键名 foreign key 外键列名 references 主表名称 (主表列名)on delete cascade;w
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。