>데이터 베이스 >MySQL 튜토리얼 >Oracle数据库的字段约束创建和维护

Oracle数据库的字段约束创建和维护

WBOY
WBOY원래의
2016-06-07 17:32:20987검색

创建Oracle数据库的字段约束: 非空约束唯一约束对字段的取值的约束默认值外键约束 create table tab_class( class_id number pr

创建Oracle数据库的字段约束:

非空约束
唯一约束
对字段的取值的约束
默认值
外键约束

create table tab_class(
 class_id number primary key,
 class_name varchar2(10) not null unique
);

create table tab_stu(
stu_id number,
 --学生姓名,不能为空,不能重复
stu_name varchar2(20) not null unique,
 --学生姓名只能是male或female
stu_gender varchar2(6) not null check(stu_gender='male' or stu_gender='female'),
 --学生年龄只能在18到60之间
stu_age number check(stu_age >18 and stu_age  --邮箱可以不填写,填写的话不能相同
stu_email varchar2(30) unique,
stu_address varchar2(30),
--外键约束
class_id number not null references tab_class(class_id)
);

维护已经创建好的约束:

可添加或删除约束,但不能直接修改。
可使约束启用和禁用。
非空约束必须使用MODIFY子句增加。
为表增加主键约束:

--维护约束
--创建约束
create table tab_check(
 che_id number,
 che_name varchar2(20)
);
--为表增加主键约束
alter table tab_check
add constraints tab_check primary key(che_id);

--添加唯一约束,tab_check_unique表示约束的名称
alter table tab_check
add constraints tab_check_unique unique(che_name);

添加检查约束:

--添加一个字段
alter table tab_check
add che_age number;
--添加检查约束
alter table tab_check
add constraints tab_check_age check(che_age>18 and che_age

--删除主键约束
alter table tab_check
drop constraints tab_check;

--禁用约束
alter table tab_check disable constraints tab_check;

--启用约束
alter table tab_check enable constraints tab_check;

复合约束,联合主键,也就是两个字段的组合成一个主键

--联合主键
create table tab_person(
 tab_firstname varchar2(10),
 tab_lastname varchar2(10),
 tab_gender varchar2(5),
 primary key(tab_firstname,tab_lastname)
);

为表添加外键约束:

alter table tab_stu
add constraints tab_stu foreign key(class_id) references tab_class(class_id);

相关阅读:

Oracle完整性约束

Oracle的约束和索引

从Oracle的约束到索引

Oracle常用数据类型和完整性约束

ORA-02291: 违反完整约束条件 …… - 未找到父项关键字

linux

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.