添加约束

查看参考教程

要求:在数据库 stuDB03 中创建以下表后添加约束

1
2
3
4
5
6
7
8
-- 创建stuDB03数据库
create database if not exists stuDB03;
-- 查看是否创建成功
show databases;
-- 锁定stuDB03数据库
use stuDB03;
-- 查看是否锁定
\s
字段名数据类型说明
namevarchar(20)姓名
classidint外键class(classid),约束名为f_id,班级编号
snoint唯一性约束
gradefloat默认值为60,取值在0-100之间,约束名为ck_grade

代码实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
-- 创建表student3
create table student3(
name varchar(20) comment '姓名',
classid int '外键class(classid),班级编号',
sno int comment '唯一性约束',
grade float comment '默认值为60,取值在0-100之间'
);
-- 查看是否创建成功
desc student3;
-- 添加外键约束(表级约束),约束名为:f_id
alter table student3 add constraint f_id foreign key(classid) references class(classid);
-- 添加唯一性约束
alter table student3 add constraint unique(sno);
-- 添加默认值(列级约束),取值范围(表级约束),约束名为:ck_grade
alter table student3 modify column grade float default 60;
alter table student3 add constraint ck_grade check(grade >= 0 and grade <=100);
-- 查看约束是否创建成功
desc student3;
show create table student3;

字段名数据类型说明
classidint班级编号,主键
classnamevarchar(20)班级名称
classlocationvarchar(20)班级地址

代码实现:

1
2
3
4
5
6
7
8
-- 创建表class
create table class(
classid int primary key comment '班级编号,主键',
classname varchar(20) comment '班级名称',
classlocation varchar(20) comment '班级地址'
);
-- 查看是否创建成功
desc class;