Oracle域完整性约束

这篇博客介绍了Oracle数据库中确保数据域完整性的三种主要约束:非空约束、默认值约束和Check约束。通过非空约束确保字段不为空,使用默认值约束设定字段的默认值,而Check约束则用于限定字段值的合理性,如性别只能为男或女,年龄在18到50之间,邮箱必须包含'@'。示例展示了如何在创建表时和表存在后添加这些约束。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我的Oracle数据库学习笔记

Day 4 域完整性约束



域完整性约束:限制字段中的值的合理性,范围 约束方式: 非空约束 ,默认值约束,数据类型,检查约束(check约束)

非空约束,默认值约束

1)在创建表时, not null ,default
注意:default要在not null前面

2)给现有表中的列添加非空约束,默认值约束 —>修改列的语法

 alter table 表名 modify(列名 默认值 |非空) 

check约束

  1. 性别仅男或女
  2. 年龄必须在18~50之间
  3. 邮箱中必须包含’@’
    解决方式:check约束

1) 在创建表中时添加 :

 字段名 数据类型(长度) check(条件)

2) 给现有表中的字段添加检查约束

 alter table 表名
 add constraint 约束名 check(约束条件);

约束名:ck_列名 或 列名_ck

例:

  1. 给学生表中性别列添加检查约束 ,性别仅为男或女
alter table studentinfo
add constraint ck_sex check(sex='男' or sex='女'); --check(sex in('男','女'));
  1. 给学生表中年龄添加检查约束 ,年龄在18~50
alter table studentInfo
add constraint ck_age check(age >=18 and age <=50); -- check(age between 18 and 50);
  1. 给学生表中邮箱添加约束 ,值必须包含@
alter table studentinfo
add constraint ck_email check(email like '%@%'); -- %:任意长度的字符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值