创建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
查看更多关于Oracle数据库的字段约束创建和维护示例的详细内容...