– 表级约束
– 创建好表的结构之后,再去添加约束。
– 第一种写法
create table tb_stu4 (
id int,
name varchar(20),
sex char(4),
age int,
address varchar(100) default ‘广州天河’,
phone varchar(30),
clazz_id int,
-- 当创建好表的结构之后,跟着就可以添加约束了
primary key(id),
check(name is not null),
check(sex = '男' or sex = '女'),
check(age > 0 and age < 65),
unique(phone),
-- 外键
foreign key (clazz_id) references tb_clazz(id)
);
– 如果还碰到资源正忙,可以点击提交按钮,然后再继续执行即可。
– 要不,就是直接断掉连接,重新连接即可
– 第二种写法
create table tb_stu5 (
id int,
name varchar(20),
sex char(4),
age int,
address varchar(100) default ‘广州天河’,
phone varchar(30),
clazz_id int,
-- 约束 约束名 约束类型(列名)
constraint stu_pk primary key(id),
constraint stu_name check(name is not null),
constraint stu_sex check(sex = '男' or sex = '女'),
constraint stu_age check(age > 0 and age < 65),
constraint stu_phone unique(phone),
-- 外键
constraint stu_fk foreign key (clazz_id) references tb_clazz(id)
);
– 第三种:推荐写法,基本约束采用列级形式,外键采用表级形式
create table tb_stu6 (
id int primary key,
name varchar(20) not null,
sex char(4) check(sex = ‘男’ or sex = ‘女’),
age int check(age > 0 and age < 65),
address varchar(100) default ‘广州天河’,
phone varchar(30) unique,
clazz_id int,
-- 外键
foreign key (clazz_id) references tb_clazz(id)
);