1、先了解什么是约束

约束是表级的强制约定。有5种约束:not null , unique, primary key ,foreign key, check

2、表级约束和列级约束

作用范围:

列级约束只能作用在一个列上

表级约束可以作用在多个列上

定义方式:

列约束必须跟在列的定义后面,表约束不与列一起,而是单独定义。

not null(非空)约束只能定义在列上

unique 约束:不允许出现相同的约束,允许出现多个空值:NULL

代码:

create table table1(

id number primary key,

name varchar2(50) not null,

class varchar2(50) unique,

comment varchar2(100)

constraint table1_tel_uq unique(comment)

)

primary key 约束:

唯一标识,不允许空值

foreign key约束:

外键:在一个表中作外键,另一个表做主键

Foreign KEY:在表级中指定子表中的列

References:标识在父表中的列

ON DELETE CASCADE(级联删除):当父表中的列被删除时,子表中相对应的列也被删除。

ON DELETE SET NULL(级联置空):子表中相应的列置空

check 约束:

定义每一行必须满足的条件

代码示例:

--检查约束

create table teacher1(

fid number primary key,

fname varchar2(30),

fage number check(fage>=18 and fage<=120),

ftel varchar(30)

)

oracle的约束什么作用,Oracle数据库知识之约束相关推荐

  1. oracle里面asm的作用,Oracle ASM 详解

    Oracle ASM 详解 ASM:Automatic Storage Management, 是Oracle 主推的一种面向Oracle的存储解决方案, ASM 和 RDBMS 非常相似,ASM 也 ...

  2. oracle undo段的作用,Oracle数据库中Undo数据段的作用及类型

    Undo数据段的作用: 事务回滚(Transaction Rollback):程序执行rollback操作. 事务修复(Transaction Recovery):rollback是recovery的 ...

  3. oracle创建触发器的作用,Oracle触发器简介

    在学习Oracle之前,我听说过触发器,但是我从未在工作中使用过触发器. 我认为触发器是一件神秘而困难的事,因此我没有认真研究它. 我了解了赵老师今晚谈论的触发因素,发现触发因素并不像我想的那样神秘. ...

  4. oracle 序列缓存的作用,Oracle序列sequence 深入理解

    Oracle序列:序列(Sequence)创建.使用.修改.删除,序列(Sequence)是用来生成连续的整数数据的对象.序列常常用来作为主键中增长列,序列中的可以升序生成,也可以降序生成. 语法:创 ...

  5. Oracle的hint的作用,Oracle Hint 用法

    正确的语法是: select /*+ index(x idx_t) */ * from t x where x.object_id=123 /*+    */ 和注释很像,比注释多了一个"+ ...

  6. oracle中同义词的作用,Oracle中使用同义词

    一.背景 有两个sid:Asid,Bsid,在Asid下有两个用户Auser1,Auser2,在Bsid下有一个用户Buser1.其中Auser2和Buser1建立了dblink.现希望通过登录Bus ...

  7. Day19 Oracle 数据库 创建表 约束 JDBC BaseDAO

    一   创建表 1.创建表(不加约束) (1)创建新表(不加约束) 创建表 create table tb_user(        userid number(5),        username ...

  8. Oracle数据库知识小结

    2019独角兽企业重金招聘Python工程师标准>>> 1. 对于日期型数据, 做 *, / 运算不合法 2. 包含空值的数学表达式的值都为空值 3. oracle 中连接字符串使用 ...

  9. oracle字段加约束,Oracle数据库的字段约束创建和维护示例

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

最新文章

  1. SAP RETAIL Rapid Replenishment
  2. C# 继承实现父类方法、重写、重载
  3. 有关自动目视解译系统的假设
  4. Spring boot注册三大组件
  5. HTML5 音频audio 和视频video实用基础教程
  6. 巧妙利用channel进行golang并发式爬虫
  7. 聚类 python 代码_不足 20 行 Python 代码,高效实现 k-means 均值聚类算法
  8. Thymeleaf –片段和angularjs路由器局部视图
  9. linux日志保存10个,Linux 124课程 10、分析存储日志
  10. Linux的/var/www/html目录
  11. JS—图片压缩上传(单张) 1
  12. 微信小程序-day1
  13. Linux常用命令英文全称
  14. 基于JSP和MYSQL数据库实现的请假管理系统
  15. jQuery UI autocomplete
  16. 基于python实现检索标记敏感词并输出
  17. keepalived配置虚拟IP
  18. 使用GDI/GDI+绘制到D3D9缓冲区的方法
  19. Defcon China 靶场题 - 内网渗透Writeup
  20. 张勇:阿里云是一家云计算产品公司,要坚定走向“产品被集成”

热门文章

  1. IDEA如何导入git仓库的分支代码
  2. r 选取从小到大的数据_r 选取数据库
  3. java属性定义_Kotlin 真香系列:扩展函数和属性
  4. Csharp windowform bindingNavigator,bindingSource,DataGridView簡單分頁:首頁,上一頁,下一頁,末頁...
  5. 第8.18节 Python类中内置析构方法__del__
  6. LED灯随机亮起几个灯
  7. linux常用文本编缉命令(strings/sed/awk/cut/uniq/sort)
  8. 企业签名打包错误+[MICodeSigningVerifier _validateSignatureAndCopyInfoForURL:withOptions:error:]:...
  9. 完美 全兼容 解决 文字两端对齐 justify 中文姓名对齐
  10. Binary Numbers(HDU1390)