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

发布时间 - 2026-01-11 00:48:15    点击率:

创建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数据库约束  # oracle数据库添加约束  # oracle数据库删除约束  # Oracle如何给数据库添加约束过程解析  # 关于sql脚本导入Oracle时重复生成check约束的问题解决  # 在Oracle数据库中添加外键约束的方法详解  # oracle删除主键查看主键约束及创建联合主键  # oracle 11g em重建报唯一约束错误解决方法  # Oracle约束管理脚本  # Oracle的约束介绍与约束维护  # 主键  # 子句  # 或删除  # 可使  # 大家多多  # 为空  # 默认值  # 只能在  # female  # stu_gender  # stu_id  # null  # stu_name  # male  # unique  # tab_stu  # class  # pre  # sql  # brush 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Win11关机界面怎么改_Win11自定义关机画面设置【工具】  Laravel怎么实现模型属性的自动加密  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  西安专业网站制作公司有哪些,陕西省建行官方网站?  香港服务器网站卡顿?如何解决网络延迟与负载问题?  高防服务器租用如何选择配置与防御等级?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  香港服务器网站推广:SEO优化与外贸独立站搭建策略  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  如何用低价快速搭建高质量网站?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  Thinkphp 中 distinct 的用法解析  奇安信“盘古石”团队突破 iOS 26.1 提权  大连网站制作公司哪家好一点,大连买房网站哪个好?  用v-html解决Vue.js渲染中html标签不被解析的问题  如何制作一个表白网站视频,关于勇敢表白的小标题?  Laravel PHP版本要求一览_Laravel各版本环境要求对照  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  PythonWeb开发入门教程_Flask快速构建Web应用  如何在IIS7中新建站点?详细步骤解析  新三国志曹操传主线渭水交兵攻略  如何在万网主机上快速搭建网站?  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  如何彻底删除建站之星生成的Banner?  微信小程序 HTTPS报错整理常见问题及解决方案  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  UC浏览器如何设置启动页 UC浏览器启动页设置方法  如何在香港免费服务器上快速搭建网站?  MySQL查询结果复制到新表的方法(更新、插入)  如何确保西部建站助手FTP传输的安全性?  Laravel路由怎么定义_Laravel核心路由系统完全入门指南  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  大型企业网站制作流程,做网站需要注册公司吗?  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  Laravel如何与Pusher实现实时通信?(WebSocket示例)  Laravel如何实现数据库事务?(DB Facade示例)  php485函数参数是什么意思_php485各参数详细说明【介绍】  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  🚀拖拽式CMS建站能否实现高效与个性化并存?  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  C#如何调用原生C++ COM对象详解  长沙企业网站制作哪家好,长沙水业集团官方网站?  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  浅谈redis在项目中的应用  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用