博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(六)Oracle学习笔记—— 约束
阅读量:5786 次
发布时间:2019-06-18

本文共 829 字,大约阅读时间需要 2 分钟。

1. 约束介绍

表虽然建立完成了,但是表中的数据是否合法并不能有所检查,而如果要想针对于表中的数据做一些过滤的话,则可以通过约束完成,约束的主要功能是保证表中的数据合法性

按照约束的分类,一共有五种约束:非空约束、唯一约束、主键约束、检查约束、外键约束。

1.1 使用如下命令检索某个表上的所有约束(WHERE条件中的表名和用户名要大写)

select * from all_constraints where table_name='EMP' and owner='SCOTT';

对于表中的CONSTRAINT_TYPE

C:校验约束,表

O:只读约束

P:主键约束

R:外键约束

U:唯一约束

V:校验约束,视图

1.2 定义约束的方法有两种:列级约束定义表级约束定义

以定义主键约束的方法来表现两种方法的区别

列级:

CREATE TABLE t_user(    id INT PRIMARY KEY);

表级:

CREATE TABLE t_user(    id INT ,    CONSTRAINT PK_USER_ID PRIMARY KEY (id));

这里可以看出两者最显著的差别是定义时间上的不同,而且列级约束定义不能定义约束的名称。

1.3 约束命名规范

约束名称建议自己定义一套命名规则,否则使用系统生成的约束名,很难能把它和对应的表、字段联系起来。

  •     非空约束     NN_表名_列名 
  •     唯一约束     UK_表名_列名
  •     主键约束     PK_表名
  •     外键约束     FK_表名_列名
  •     条件约束     CK_表名_列名
  •     默认约束     DF_表名_列名

如果约束名称超过32位长度,建议应该缩写表名,而不应用NN_表名_数字。不过具体视情况而定,很多时候 DF_表名_列名 这样命名,往往超出了32字符。所以有时候需要缩写表面或是采用其它规则。

2. 几种约束的介绍

 

 

转载地址:http://ndmyx.baihongyu.com/

你可能感兴趣的文章
基于神念TGAM的脑波小车(1)
查看>>
ceph集群搭建Jewel版本
查看>>
HttpClient 解释
查看>>
111111
查看>>
在Button上面显示图片,去掉Button的默认样式
查看>>
区域生长算法
查看>>
(转)json+flexgrid+jbox组合运用页面刷新<jsp>
查看>>
hive学习2(Navicat连接hive)
查看>>
getResourceAsStream的3种路径配置
查看>>
switch语句小练习
查看>>
组合逻辑电路
查看>>
POP-一个点击带有放大还原的动画效果
查看>>
9款极具创意的HTML5/CSS3进度条动画
查看>>
uboot在s3c2440上的移植(1)
查看>>
个人阅读作业2
查看>>
UE4材质是什么样的机制
查看>>
使用QTP录制自带Flight小实例
查看>>
JProfiler学习笔记
查看>>
Loadrunner脚本编程(4)-数据类型操作和字符串操作
查看>>
arpg网页游戏之地图(二)
查看>>