一文带你学会MySQL表创建的约束

概念

首先,我们需要了解什么是约束,约束有什么作用和目的

约束他主要的作用就是用于表字段上的规则,限制存储在表里的数据,以确保数据库中的数据的一个正确性、有效和完整性。

那么,我们主要有哪些约束类型尼?

在MySQL中,以下为常见的表创建时可使用的5种约束:

  1. 主键约束(primary key):主键用于唯一标识表中的每一行数据。主键约束要求被指定为主键的列的值必须是唯一的,并且不能为NULL。

  2. 唯一约束(unique):唯一约束用于确保表中某一列或某几列的值是唯一的。与主键不同的是,唯一约束允许NULL值存在。

  3. 外键约束(foreign key):外键约束用于确保表与其他表之间的关联关系的完整性。外键约束创建一个关联到另一个表中的主键的列,并定义了某些操作规则,比如级联更新和删除。

  4. 非空约束(not null):非空约束用于确保某一列的值不能为空。当为表的列指定非空约束时,该列在插入或更新数据时不能为NULL。

  5. 默认约束(default):保存数据是,如果未指定字段值,则采用默认值

实战

我们还是用上一篇的sql来完成练习

话不多说,直接上代码

create table table_name(
    id int primary key comment 'ID,唯一标识',
    phione varchar(20) not null unique comment '电话',
    name varchar(10) not null comment '姓名',
    age int comment '年龄',
    gender char(1) default '男' comment '性别'
) comment '通讯表';

分析

大家请看下图我所标记的地方

大家实战的时候,其实自己也可以想象一下,为什么我们会选择这些约束。

分析:

id:id这东西就像你的身份证一样,是每个人独有的,不可重复的,并且不能为空的。你这样理解之后再去对照上面对主键约束(primary key)的解释,是不是一目了然

phone:大家一定注意到了吧,电话这利我用到了两种约束,这是为什么尼?

是因为:

非空约束(not null)这可以确保电话号码在表中的每一行都是有效的,不会存在空值。

唯一约束(unique)这个确保每个电话号码的值都必须是唯一的。如果尝试插入或更新数据时存在重复的电话号码,则会触发冲突。

(通过使用这两个约束,可以保证电话号码在表中的每一行都是非空且唯一的。这对于确保数据的完整性和避免重复数据非常有用。)

gender:这个就跟简单了,因为性别只有男和女(别提人妖),我们添加数据时选择可以都默认是男或者女,到时候修改就行。

测试

分析完之后,我们再来测试一下,加上这些约束是不是真的有用。

话不多说,上截图:

在IDEA中点击+号添加数据

如下图,我们不添加id,不添加电话,不添加性别的情况:

输出结果:

可以看到报错,那么我们把id加上去尼,看看会不会添加成功。

添加id:

输出结果:

可以看到还是报错了,为什么尼?

诶,有爱坤说了,是因为phone电话也不能为空,那我们再试一下

添加电话:

输出结果:

可以看到已经完成添加。

讲了这么多,大家是不是都学会了尼。如果学会了,麻烦给了一键三连,听说一键三连可以暴富哦!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值