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

所属分类: 数据库 / oracle 阅读数: 1335
收藏 0 赞 0 分享

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

  1. 非空约束
  2. 唯一约束
  3. 对字段的取值的约束
  4. 默认值
  5. 外键约束
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 <60), 
 --邮箱可以不填写,填写的话不能相同 
stu_email varchar2(30) unique, 
stu_address varchar2(30), 
--外键约束 
class_id number not null references tab_class(class_id)  
); 

维护已经创建好的约束:

  1. 可添加或删除约束,但不能直接修改。
  2. 可使约束启用和禁用。
  3. 非空约束必须使用MODIFY子句增加。
  4. 为表增加主键约束:
--维护约束 
--创建约束 
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<60); 

删除约束:

--删除主键约束 
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(plsql)生成流水号

这篇文章主要介绍了oracle(plsql)生成流水号,需要的朋友可以参考下
收藏 0 赞 0 分享

oracle中decode函数的使用方法

这篇文章主要介绍了oracle中decode函数的使用方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Oracle数据远程连接的四种设置方法和注意事项

Oracle数据库的远程连接可以通过多种方式来实现,本文我们主要介绍四种远程连接的方法和注意事项,并通过示例来说明,接下来我们就开始介绍
收藏 0 赞 0 分享

oracle表空间中空表统计方法示例介绍

这篇文章主要介绍了oracle表空间中空表统计方法,需要的朋友可以参考下
收藏 0 赞 0 分享

oracle用户权限、角色管理详解

这篇文章主要介绍了oracle用户权限、角色管理的使用和示例,需要的朋友可以参考下
收藏 0 赞 0 分享

oracle用户权限管理使用详解

这篇文章主要介绍了oracle用户权限管理使用方法,需要的朋友可以参考下
收藏 0 赞 0 分享

oracle生成动态前缀且自增号码的函数分享

这篇文章主要介绍了oracle生成动态前缀且自增号码的函数,需要的朋友可以参考下
收藏 0 赞 0 分享

45个非常有用的 Oracle 查询语句小结

这里我们介绍的是 40+ 个非常有用的 Oracle 查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询。这些是所有 Oracle 开发者都必备的技能,所以快快收藏吧
收藏 0 赞 0 分享

oracle监控某表变动触发器例子(监控增,删,改)

这篇文章主要介绍了oracle监控某表变动触发器例子(监控增,删,改),用于监控某表的变动并生成日志记录到另一个表,需要的朋友可以参考下
收藏 0 赞 0 分享

oracle 数据库隔离级别学习

这篇文章主要介绍了oracle数据库的隔离级别相关的知识,数据库操作的隔离级别,有需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多