Mysql约束

视频地址:https://www.bilibili.com/video/BV1iq4y1u7vj?p=72

在这里插入图片描述

约束的作用

在这里插入图片描述

在这里插入图片描述

如何添加约束

创建表的时候添加

创建非空约束

在这里插入图片描述

创建唯一约束

唯一性约束用来限制不受主键约束的列上的数据的唯一性,用于作为访问某行的可选手段,一个表上可以放置多个唯一性约束.

在这里插入图片描述

CREATE TABLE test2(
	id int UNIQUE,#列级约束
	last_name VARCHAR(15),
	email VARCHAR(25) UNIQUE,
	salary DECIMAL(10,2),
	# 表级约束
	CONSTRAINT test2_email UNIQUE(email)
);

主键约束

一个表中最多只能有一个主键约束,主键列上没有任何两行具有相同值(即重复值),不允许空(NULL).

在这里插入图片描述

在ALTER TABLE时来添加约束

在这里插入图片描述

删除主键约束

alter table test6
drop primary key;

自增列

某个字段的值自增
只能用于数值类型

在这里插入图片描述

外键约束

在这里插入图片描述

限定某个表的引用完整性

删除外键约束要手动删除索引

#创建主表
CREATE table dept1(
	dept_id int,
	dept_name VARCHAR(15)
);
# 创建从表
create table emp1(
	emp_id int PRIMARY key AUTO_INCREMENT,
	emp_name VARCHAR(15),
	department_id int,
	# 表级约束
	constraint fk_emp1_dept_id foreign key (department_id) REFERENCES dept1(dept_id)
);
#上诉报错是因为dept_id上没有主键约束或者唯一约束
alter table dept1
add PRIMARY key (dept_id)
desc dept1;

在这里插入图片描述

约束等级

在这里插入图片描述
在这里插入图片描述

删除外键约束

在这里插入图片描述

CHECK约束

检查某个值是否在范围内

create table test10{
id int,
last_name VARCHAR(15),
salary DECIMAL(10,2) CHECK(salary>2000)
}

DEFAULT约束

添加默认值

create table test10{
id int,
last_name VARCHAR(15),
salary DECIMAL(10,2) DEFAULT(2000)
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值