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

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

1 系统、环境和前提约束

2 操作

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


    以系统管理员启动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);

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 系统用户: 1.sys system(sys权限最高) 2.sysman(操作企业管理器) 密码是安装的时候输入的...
    3hours阅读 1,602评论 0 0
  • 1、登录SQL plus 使用系统用户登录: 首先系统用户有:sys和system,这两个用户权限较高; 其中sy...
    方研梅阅读 717评论 0 0
  • 小编正在学习c#http://ADO.NET连接Oracle数据库的知识,刚好又可以重新去回顾下Oracle的基础...
    CLJnong阅读 880评论 0 0
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,908评论 0 5
  • 今天的一根小阴线,其实如果放在昨天更好一些,如此,下跌形成一个有力的三买,今天在换一根光头阳线,那就是再好不过了。...
    那一叶秋阅读 175评论 0 1