07 表的约束-建表之后再添加

上一节我们了解了在建表时如何创建约束,本文将阐述如何在建表之后添加约束。

1 系统、环境和前提约束

2 操作

  • 1 以系统管理员启动cmd命令行

     
     
    16204070-f05e17713628f4db.png
    以系统管理员启动cmd
  • 2 登录到mysql命令行,创建一张学生表和一张班级表
>sqlplus scott/tiger
>drop table t_class;
>create table t_class(id int,name varchar(20));
>drop table t_user;
>create table t_user(id int, name varchar(20), age int,  gender char(1),email varchar(30), classId int);
  • 3 添加主键约束
# 删除主键约束
alter table t_user drop constraint t_user_id_pk;
# 创建主键约束
alter table t_user add constraint t_user_id_pk primary key (id);
  • 4 添加外键约束
# 删除外键约束
alter table t_user  drop constraint t_user_class_fk;
# 创建主键约束
alter table t_user  add constraint t_user_class_fk foreign key (classId) references t_class(id) on delete set null;
  • 5 添加非空约束
# 删除非空约束
alter table t_user drop constraint t_user_name_nn;
# 添加非空约束
alter table t_user  modify name constraint t_user_name_nn not null;
  • 6 添加check约束
# 添加check约束
alter table t_user modify (age int default 25 check(age>20));
  • 7 添加唯一约束
# 删除唯一约束
alter table t_user drop constraint t_user_uq;
# 添加唯一约束
alter table t_user  add constraint t_user_uq unique(email);

以上就是在表已经创建之后再去添加约束的过程,要特别注意,如果表中有数据且当前的数据与马上要添加的约束对立,那么约束是不会添加成功的,所以,表的约束最好在进行表设计的时候就考虑完善,此种表已经创建好特别表已经使用了一段时间再去添加约束的操作要尽可能避免。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值