创建Oracle数据库的字段约束:
- 非空约束
- 唯一约束
- 对字段的取值的约束
- 默认值
- 外键约束
1
2
3
4
|
create table tab_class(
class_id number primary key ,
class_name varchar2(10) not null unique
);
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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 <60),
--邮箱可以不填写,填写的话不能相同
stu_email varchar2(30) unique ,
stu_address varchar2(30),
--外键约束
class_id number not null references tab_class(class_id)
);
|
维护已经创建好的约束:
- 可添加或删除约束,但不能直接修改。
- 可使约束启用和禁用。
- 非空约束必须使用MODIFY子句增加。
- 为表增加主键约束:
1
2
3
4
5
6
7
8
9
|
--维护约束
--创建约束
create table tab_check(
che_id number,
che_name varchar2(20)
);
--为表增加主键约束
alter table tab_check
add constraints tab_check primary key (che_id);
|
添加唯一约束
1
2
3
|
--添加唯一约束,tab_check_unique表示约束的名称
alter table tab_check
add constraints tab_check_unique unique (che_name);
|
添加检查约束:
1
2
3
4
5
6
|
--添加一个字段
alter table tab_check
add che_age number;
--添加检查约束
alter table tab_check
add constraints tab_check_age check (che_age>18 and che_age<60);
|
删除约束:
1
2
3
|
--删除主键约束
alter table tab_check
drop constraints tab_check;
|
禁用约束:
1
2
|
--禁用约束
alter table tab_check disable constraints tab_check;
|
启用约束
1
2
|
--启用约束
alter table tab_check enable constraints tab_check;
|
复合约束,联合主键,也就是两个字段的组合成一个主键
1
2
3
4
5
6
7
|
--联合主键
create table tab_person(
tab_firstname varchar2(10),
tab_lastname varchar2(10),
tab_gender varchar2(5),
primary key (tab_firstname,tab_lastname)
);
|
为表添加外键约束:
1
2
|
alter table tab_stu
add constraints tab_stu foreign key (class_id) references tab_class(class_id);
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://blog.csdn.net/facekbook/article/details/12214735