【Oracle数据库】给表添加/删除约束

约束类型

  • 主键约束 :Primary Key Constraint 注:要求主键列数据唯一,并且不允许为空
  • 唯一约束 :Unique Constraint 注:要求该列唯一,允许为空
  • 检查约束 :Check Constraint 注:某列取值范围限制、格式限制等,如有关年龄的约束
  • 外键约束 :Foreign Key Constraint 注:用于两表间建立关系,需要指定引用主表的那列
    切换到非超级管理员操作,建表代码如下
create table test01
(
 stname varchar2(10) not null,
 stsex char(3),
 stid char(4),
 stgrade varchar(6) default '一年级'
);
create table t1(
name varchar2(20),
class char(3),
position varchar2(10),
age char(3)
)

添加约束

  • 主键约束

主键必须唯一,不能为空

alter table 表名 add constraint 约束名 primary key(字段名);
alter table t1 add constraint pk_name_t1 primary key(name);
  • 唯一约束

唯一键列值必须唯一,允许为空

alter table 表名 add constraint 约束名 unique(字段);
alter table test01 add constraint uq_stid unique(stid);
  • 检查约束

alter table 表名 add constraint 约束名 check (约束条件);
alter table test01 add constraint ck_stsex check (stsex='男' or stsex='女')
  • 外键约束

表表连接,明确指定主表引用主键唯一列
创建两个表

create table a
(
 aname char(6),
 aid number
);
create table b
(
 bname char(6),
 bid number
);
/* 主键约束 */
alter table a add constraint pkk_aid_a primary key(aid);
/* 给a主键和唯一约束的行输入数据 */
select * from a for update;
/* 连接外键 */
alter table b add constraint fk_bid foreign key (bid) reference a(aid);

删除约束

alter table 表名 drop constraint 约束名
alter table test01 drop constraint ck_stsex;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值