约束(constraint)
一、定义

为表的列添加一些约束,以满足用户的需求。在之后的DML(select,insert,update)

数据时,若不满足约束条件,则语句不能执行

注:可以为约束起别名

二、约束的分类

1)非空约束 not null

2)唯一约束 unique
注:可以有多个空值
3)自定义检查约束 check

4)主键约束 primary key
表中能够唯一确定一个行数据的字段 ,列中只能有一个主键约束实际约束效果与(not null unique)一致。
注:主键联合,可以用表级约束联合几个列为主键

5)外键约束 reference 
外键用来描述两张表之间的关系,必须保证外键列的值必须为参考列的值中具有唯一约束的一个

三、添加约束

1)建表时为某一列后添加约束(也可在所有列之后再添加)

2)建表后通过alter... add...或alter...drop...修改

代码演示: 
create table tempt(
tname varchar2(15) not null,--非空约束,值非空
tid number(4) unique,--唯一约束,值唯一
age varchar2(3) constraint ck_age check(age between 0 and 150)--自定义检查约束 
)

create table classer(
cid number(2) primary key, --主键约束
cname varchar2(15) not null
)
create table student(
cid number(3) references classer(cid),--外键约束
stuname varchar2(15) not null unique
)

索引

一、作用:

在数据库中用来加速对表的查询,通过使用快速路径访问方法快速定位数据,减少了磁盘的I/O

二、创建:

1)自动: 当在表上定义一个PRIMARY KEY 或者UNIQUE 约束条件 时,Oracle数据库自动创建一个对应的唯                  一索引.

2)手动: 用户可以创建索引以加速查询

三、语法格式:

  CREATE INDEX index   ON table ( column [, column ]...);

Oracle分页

  • Oracle下select语句每个结果集中都有一个伪字段存在,这个字段的名 字叫做rownum.用来标识每条记录的行号,行号从1开始,每次递增1
  • 只能使用:<,<=
  • 注意:Oracle中的rownum的是在取数据的时候产生的序号 。当 rownum和order by一起使用时,会首先选出符合rownum条件的记 录,然后再进行排序,这会给我们的查询带来难度。

rowid

  • rowid 是oracle实际存在的值,是唯一的值
  • rownum 是一个虚拟的顺序值 ,前提是一定要排序 select emp.*,rowid from emp;

oracle04 约束,索引的更多相关文章

  1. SQL 约束 索引

    --约束constraint--not null 非空约束create table demo01(empno number(4),ename varchar2(10) not null,job var ...

  2. SQLServer与MySQL约束/索引命名的一些差异总结

    约束是数据库完整性的保证,主要分为:主键/外键/唯一键/默认值/check等类别,约束是一个逻辑概念,表示数据的某些特性(不能为空,唯一,必须满足某些条件等等),索引是一个逻辑与物理概念的结合,逻辑上 ...

  3. 总结: MySQL(基础,字段约束,索引,外键,存储过程,事务)操作语法

    1. 显示数据库列表 show databases; # 查看当前所有数据库 show databases \G   #以行的方式显示 2. 在命令行中,执行sql语句 mysql -e 'show ...

  4. 2-16 MySQL字段约束-索引-外键

    一:字段修饰符 1:null和not null修饰符 我们通过这个例子来看看 mysql> create table worker(id int not null,name varchar(8) ...

  5. Oracle 表管理 约束 索引

    表的约束与完整性: 1.实体完整性 主键唯一性 2.域完整性 不能向number中插入varchar 3.参照完整性 外键 以别的表的字段作为外键,再插入该表时所插入外键的值必须在被参照表中该字段有那 ...

  6. mysql字段约束-索引-外键---3

    本节所讲内容: 字段修饰符 清空表记录 索引 外键 视图 一:字段修饰符 (约束) 1:null和not null修饰符   我们通过这个例子来看看 mysql> create table wo ...

  7. SQL基础-约束&索引

    一.约束 1.约束简介 约束(constraint): 表中数据的限制条件. 完整性 有效性 约束的种类: 主键约束 外键约束 唯一约束 检查约束 非空约束 2.主键约束 主键约束: 唯一标识表中每一 ...

  8. day38:MySQL数据库之约束&索引&外键&存储引擎

    目录 part1:数据类型 part2:约束 part3:主键索引 PRI &唯一索引 UNI &普通索引 MUL part4:外键:foreign key part5:在外键中设置联 ...

  9. 循环TRUNCATE表,再ENABLE约束索引等

    CREATE OR REPLACE PROCEDURE STG.FP_REMOVE_MST_OLD_DATA (EXITCODE OUT NUMBER) IS /******************* ...

随机推荐

  1. 【原创】大叔经验分享(9)yarn重要配置yarn.nodemanager.local-dirs

    yarn中有一个比较重要的配置yarn.nodemanager.local-dirs,如果配置的不好,在饱和状态运行下集群会出现很多问题:1 默认配置${hadoop.tmp.dir}/nm-loca ...

  2. LuoGu P4996 咕咕咕

    题目描述 小 F 是一个能鸽善鹉的同学,他经常把事情拖到最后一天才去做,导致他的某些日子总是非常匆忙. 比如,时间回溯到了 2018 年 11 月 3 日.小 F 望着自己的任务清单: 看 iG 夺冠 ...

  3. python下的异常处理

    一.什么是异常 程序运行过程中错误发生的信号.(如果运行时产生的异常,程序不处理就会被抛出,随之会造成程序终止) 二.异常的种类 首先,异常主要分为语法错误.逻辑错误两种类型 语法错误会在程序还没有执 ...

  4. Java面试题复习笔记(数据库)

    1.数据库分类? 关系型数据库和非关系型. 常用关系型:Myspl.Oracle.SQLServer 非关系型:Redis.Hadoop.Memcache.Mogobd 2.关系数据库三范式? 范式就 ...

  5. 微信小程序+java后台

    博主是大四学生,毕业设计做的是微信小程序+java后台.陆陆续续经历了三个月(因为白天要实习又碰上过年玩了一阵子),从对微信小程序一无所知到完成毕设,碰到许多问题,在跟大家分享一下自己的经历和一个小程 ...

  6. uni-app hbuilderX ios离线打包,启动图修改没反应

    最后还是没反应 删除app从新安装, 可参考https://www.jianshu.com/p/47c1377c61d6

  7. uni-app图片压缩转base64位 利用递归来实现多张图片压缩

    //选择图片 chooseImage(){ let that =this uni.chooseImage({ sizeType: ['original','compressed'], //可以指定是原 ...

  8. postgresql :: FATAL: could not write init file

    出现此错误,原因是磁盘空间被用尽.需要清理磁盘空间即可.

  9. python---哈希算法实现

    # coding = utf-8 class Array: def __init__(self, size=32, init=None): self._size = size self._items ...

  10. KaliLinux常用服务配置教程DHCP服务工作流程

    KaliLinux常用服务配置教程DHCP服务工作流程 DHCP服务工作流程如图1.1所示. 具体的工作流程如下所示: (1)DHCP客户端以广播的方式发出DHCP Discover报文. (2)所有 ...