MySQL: 表的增删改查(进阶1)

1.数据库约束

1.1 约束类型

  • NOT NULL - 指示某列不能存储 NULL 值。
  • UNIQUE - 保证某列的每行必须有唯一的值。
  • DEFAULT - 规定没有给列赋值时的默认值。
  • PRIMARY KEY - NOT NULLUNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
  • FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
  • CHECK - 保证列中的值符合指定的条件。对于MySQL数据库,对CHECK子句进行分析,但是忽略CHECK子句。

1.2 NULL约束

创建player表
在这里指定了id列不为空
在这里插入图片描述
当输入空时,
在这里插入图片描述
因此这里输入的时候不能将id设置为null
在这里插入图片描述

1.3 UNIQUE:唯一约

创建player表
这里指定name列为唯一值,不重复的
在这里插入图片描述
如果要插入值已经在表中存在就会插入失败
在这里插入图片描述

提示:当列有uniqueq约束的时候,进行插入之前,就会先查找。如果当前值存在,此时就会插入失败。因此,unique约束对效率肯定是会有影响的!但也是值得的!

1.4 DEFAULT:默认值约束

我们知道,当我们指定列插入的时候,如果这个列没有被指定,就会被设置成默认值NULL

使用DEFAULT约束
指定插入数据时name列为空,默认值为unkown;
先建立表
在这里插入图片描述
在这里插入图片描述

1.5 PRIMARY KEY:主键约束

primary key 表示了一个记录的身份标识(相当于唯一 && not null)
在这里插入图片描述

提示:一张表中只能有一个主键,对于主键,要求不能为空也不能重复。

1.6 FOREIGN KEY:外键约束

外键用于关联其他表的主键或唯一键

创建班级表class,id为主键:

在这里插入图片描述
创建一个学生表
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.7 CHECK约束(了解)

MySQL不支持CHECK约束

使用方式
drop table if exists test_user;
create table test_user (
id int,
name varchar(20),
sex varchar(1),
check (sex =‘男’ or sex=‘女’)
);

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伦敦看日出

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值