2021-04-27

本文详细介绍了MySQL中四种重要的数据约束:主键约束,确保表的唯一标识;非空约束,保证字段不为空值;唯一约束,防止值的重复;以及外键约束,实现表间的数据关联。通过实例展示了如何在创建和修改表时添加或删除这些约束,以及如何设置自动增长属性。了解这些约束对于维护数据的完整性和一致性至关重要。
摘要由CSDN通过智能技术生成

MySQL

四种约束

概念:对表中的数据进行限定,保证数据的正确性、有效性和完整性。
分类:
1. 主键约束:primary key
一张表只能由一个字段为主键,作为这张表的唯一标识(非空且唯一)

  • 在创建表时添加主键:
    \qquad create table stu(
    \qquad \qquad id int primary key,
    \qquad \qquad name varchar(20)
    \qquad );
  • 删除主键
    \qquad alter table stu drop primary key;
  • 创建完表后添加主键
    \qquad alter table stu modify id int primary key;

2. 非空约束:not null
表中的某些数据不能为空值

  • 创建表时添加非空约束:
    \qquad create table stu(
    \qquad \qquad id int,
    \qquad \qquad name varchar(20) not null
    \qquad );
  • 删除非空约束
    \qquad alter table stu modify name varchar(20);
  • 创建表玩之后添加非空约束
    \qquad alter table stu modify name varchar(20) not null;
    3. 唯一约束: unique
    值不能重复
  • 创建表时添加唯一约束
    \qquad create table stu(
    \qquad \qquad id int,
    \qquad \qquad phone varchar(20) unique
    \qquad );
  • 删除唯一约束
    \qquad alter table stu drop index phone;
  • 在创建表后,添加唯一主键
    \qquad alter table stu modify phone varchar(20) unique;
  • 自动增长
    \qquad 如果某一列是数值类型的,使用auto_increament可以来完成自动增长
    \qquad 在创建表时,添加添加主键约束,并完成主键自动增长
    \qquad \qquad create table stu(
    \qquad \qquad \qquad id int primary key auto_increment,-- 给id添加主键约束
    \qquad \qquad \qquad name varcar(20)
    \qquad \qquad );
    \qquad 删除自动增长
    \qquad \qquad alter table stu modify id int;
    \qquad 添加自动增长
    \qquad \qquad alter table stu modify id int;
    4. 外键约束:foreign key
    让表与表之间产生关系,从而保证数据的正确性
  • 创建表时添加外键
    \qquad create table 表名(
    \qquad \qquad
    \qquad \qquad 外键列
    \qquad \qquad constraint 外键名称 foreign key (外键列名称) references 主键名称(主键列名称)
    \qquad );
  • 删出主键
    alter table 表名 drop foreign key 外键名称;
  • 创建表之后,添加外键
    \qquad alter table 表名 add constraint 外键名称 foreign key (外键字段名称) references 主表名称(主表列名称);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值