Oracle字段约束

Oracle字段约束

1.约束是数据库用来确保数据满足业务规则的手段,对数据做的条件限制。
2.约束的类型
1. 主键约束(PRIMARY KEY)
1. 主键约束(PRIMARY KEY1. 非空加唯一约束;
	2. 一个表只有一个主键;
	3. 主键会默认加索引;

alter table student add constraint stu_id_pk primary key(stu_id);

在这里插入图片描述

2. 唯一性约束(UNIQUE)
2. 唯一性约束(UNIQUE)
对于UNIQUE约束来讲,索引是必须的。如果不存在,就自动创建一个(UNIQUE的唯一性本质上是通过索引来保证的)
UNIQUE允许null值,UNIQUE约束的列可存在多个null。这是因为,Unique唯一性通过btree索引来实现,而btree索引中不包含null。所以,这也造成了在where语句中用null值进行过滤会造成全表扫描。

alter table ruanjian181 add constraint rj181_name_uq unique(name);

在这里插入图片描述

3. 非空约束(NOT NULL)
3. 非空约束(NOT NULL)
非空约束作用的列也叫强制列。顾名思义,强制键列中必须有值,当然建表时候若使用default关键字指定了默认值,则可不输入。

alter table ruanjian181 modify age not null;

在这里插入图片描述

4. 检查约束(CHECK)
4. 检查约束(CHECK)
检查约束可用来实施一些简单的规则,比如列值必须在某个范围内。检查的规则必须是一个结果为truefalse 的表达式

alter table ruanjian181 add constraint rj181_sex_ck check(sex in('男','女'));

在这里插入图片描述

5. 外键约束(FOREIGN KEY)
5. 外键约束(FOREIGN KEY)
外键约束定义在具有父子关系的子表中,外键约束使得子表中的列对应父表的主键列,用以维护数据库的完整性。不过出于性能和后期的业务系统的扩展的考虑,很多时候,外键约束仅出现在数据库的设计中,实际会放在业务程序中进行处理。外键约束注意以下几点:
1.外键约束的子表中的列和对应父表中的列数据类型必须相同,列名可以不同
2.对应的父表列必须存在主键约束(PRIMARY KEY)或唯一约束(UNIQUE3.外键约束在子表里,外键的取值范围不能大于父表键值
4.如果想删除主表的主键,需要先删除子表的关联字段

alter table ruanjian181 add constraint rj181_id_fk foreign key(rj_id) references ruanjian (rj_id);
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值