1、Oracle序列
语法:create sequence 序列名
 特点1:默认是无值,指针指向没有值的位置
 特点2:序列名.nextval 每次执行值会自增一次,步长为 1
 特点3:序列名.currval查看当前序列的值。[默认是没有,需要创建再执行先]
作用:作为主键使用,动态的获取主键的值,这样新增数据的时候的避免了主键冲突
  --使用的是 序列名.nextval作为主键
注意:主键是非空唯一,不需要主键的值是连续的值,不重复即可

 --创建默认序列
create sequence cc;--创建序列
select cc.nextval from dual;--递增的方式去创建序列
select cc.currval from dual;--查询当前序列
 --创建测试表
create table student(
tid number(10) primary key,
tname varchar(100) not null
)
--添加测试数据
--之前写法:【多复制多改动很多数据,费时间】
insert into student values(1,'迪丽热巴');
insert into student values(2,'柚子解说');
--使用序列添加
insert into student values(cc.nextval,'迪丽热巴');
insert into student values(cc.nextval,'柚子解说');
 --创建自定义序列
create sequence c1--创建序列
start with 5 --设置开始位置
increment by 2 --设置步长
select c1.nextval from dual
select c1.currval from dual
--删除序列:drop sequence 序列名
drop sequence cc;

2、Oracle索引
作用:提升查询效率,处理大量的数据才会发现索引的强大之处
--特点:显示的创建,隐式的执行
--注意:oracle会自动给表的主键创建索引。[一般是编号,学号等]
使用索引:【创建、删除】

 --创建语法
create index 索引名 on 表名(字段名)
--测试数据
create index index_student_tname on student(tname)--创建索引
select * from student where tname='柚子解说'
--删除索引
drop index index_student_tname

3、Oracle视图
使用视图:【创建、删除】
创建视图: create view 视图名 as select 对外提供的内容 from 真实表名 
删除视图: drop view 视图名 
视图特点:
 特点1:保护真实表,隐藏重要字段的数据。保护数据。
 特点2:在视图中的操作会映射执行到真实表中
 特点3:可以手动开启只读模式 使用关键字 with read only
注意:视图的创建用户必须具有DBA权限

 --测试视图
--创建视图并对外提供了sid,sname,ssex三个字段
create view stu as select sid,sname,ssex from student
select * from student--可查询所有的详细数据
select * from stu--只能查询到视图对外开放的字段

--视图的只读模式
create view stu2 as select sid,sname,ssex from student with read only

4、分页
当一个表中的数据量庞大时,如果数据一次性全部显示给用户,则造成页面过于庞大,体验感low。
使用:rownum 关键字 :--oracle对外提供的自动给查询结果编号的关键字,与数据没有关系。
注意:rownum 关键字只能做< <=的判断,不能进行> >=的判断

 --查询员工信息前5条数据[第一页]
select rownum,e.* from emp e where rownum<=5
select * from (select rownum r,e.* from emp e where rownum <=5) t where r>0;

 --查询员工信息的6-10条后所有数据[第二页]
select * from (select rownum r,e.* from emp e where rownum<=10) t where r>5

 --查询员工信息的11-15条数据[第三页]
select * from (select rownum r,e. * from emp e where rownum<=15) t where r>10;


分页的总结:每页显示n条数据,查询第m页数据 
select * from (select rownum r,e. * from 分页的表 e where rownum<=n*m) t where r>n*m-n;

例子:每页显示3条数据,查询第2页的数据
select * from (select rownum r,e. * from emp e where rownum<=3*2) t where r>3*2-3;
select * from (select rownum r,e. * from emp e where rownum<=6) t where r>3;


灵活应变:

 --只查询员工姓名,工资。【每页显示3条数据,查询第4页的数据】
select * from (select rownum r,e. * from emp e where rownum<=3*4) t where r>3*4-3;
select t.ename,t.sal from (select rownum r,e. * from emp e where rownum<=12) t where r>9;


 --分页查询员工信息按照工资排序
select * from (select rownum r,t.* from (select * from emp order by sal desc) t where rownum<=10 ) where r>5

Oracle【序列、索引、视图、分页】的更多相关文章

  1. oracle 序列、视图、索引

    序列 创建 在sequences里 作用 生成自动增长(或减少)的整数值 经常添加数据时使用,可控性好 写法:序列名.nextval  获取下一个序列值 序列名.currval  获取当前序列值,不常 ...

  2. oracle 序列 视图 索引 同义词

    序列 Oracle 12C 之后,Oracle 之中提供的是一种手工的自动增长列控制,而这样的控制在 Oracle 之中使用序列(对象)完成. 序列的创建: CREATE SEQUENCE 序列名称 ...

  3. oracle--序列&视图&索引&视图&可视化操作&分页&数据库备份

    --oracle学习内容--oracle的管理系统学习--oracle的数据管理学习--oracle的用户管理--oracle二维表管理--oracle的其他知识 --oracle的序列.视图.索引 ...

  4. 序列、视图、索引(面试看这个就GO了)

    oracle内置对象 序列.视图.索引 序列 create sequence aaa start with 1; 使用 视图 创建好之后 然后直接用 就OK了 有了视图可以代替子查询,使得sql简洁 ...

  5. Oracle数据库之视图与索引

    Oracle数据库之视图与索引 1. 视图简介 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改. 视图基于的表称为基表,视图是存储在数据字典里的一条SE ...

  6. 序列&权限&索引&视图的语句

    create sequence 订单_订单编号_seq -- 创建序列 (成功后在sequence中查询) increment by start with maxvalue nocycle nocac ...

  7. Oracle序列 与 基本函数介绍

    目录 Oracle序列 与 基本函数介绍 常用词汇 数据字典(data dictionary:dd) oracle序列技术理解 账号管理 基本函数介绍及应用 海韵听心 PL/SQL Developer ...

  8. SQL Server索引视图以(物化视图)及索引视图与查询重写

    本位出处:http://www.cnblogs.com/wy123/p/6041122.html 经常听Oracle的同学说起来物化视图,物化视图的作用之一就是可以实现查询重写,听起来有一种高大上的感 ...

  9. Oracle索引梳理系列(七)- Oracle唯一索引、普通索引及约束的关系

    版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...

  10. Oracle之物化视图

    来源于:http://www.cnblogs.com/Ronger/archive/2012/03/28/2420962.html 近期根据项目业务需要对oracle的物化视图有所接触,在网上搜寻关于 ...

随机推荐

  1. Net分布式系统之七:日志采集系统(1)(转)

    http://www.cnblogs.com/Andon_liu/p/7508107.html 日志对大型应用系统或者平台尤其重要,系统日志采集.分析是系统运维.维护及用户分析的基础. 一.系统日志分 ...

  2. OpenCV画图(画OpenCV的标志)

    import numpy as np import cv2 img = np.ones((512, 512, 3), np.uint8)*255 # 画椭圆 # 图片 (圆心) (短轴长,长轴长),旋 ...

  3. Swift 3.0 Date的简单使用

    // // ViewController.swift // Date的使用 // // Created by 思 彭 on 16/9/20. // Copyright © 2016年 思 彭. All ...

  4. 记一次排查mysql数据库连接未关闭问题的过程

    在一些项目中由于一些特殊原因仍然保留着显示的获取数据库连接(Connection).提交事务.回滚事务.关闭连接等操作:其中关闭连接是比较容易疏忽又比较难在前期发现的问题. 我是如何排查连接未关闭的问 ...

  5. Shell脚本无限调用

    #! /bin/bash # this shell can run endlessfully echo "i love you ! " sh ./run 通过echo来显示了无限调 ...

  6. 架构模式: API网关

    模式: API网关 上下文 让我们假设您正在构建一个使用Microservice体系结构模式的在线商店,并且您正在实现产品详细信息页面.您需要开发产品详细信息用户界面的多个版本: 用于桌面和移动浏览器 ...

  7. js单击事件

    <script type="text/javascript"> // 根据ID获取元素,得到按钮[注册] var elbtn=document.getElementBy ...

  8. day30 OSI七层协议

    网络编程 什么是网络编程? 网络编程就是编写基于网络传输数据的应用程序 为什么需要网络编程? 在我们以前的编程中,所有的数据都是存在于本地,且只能由我们自己使用,不能进行跨电脑通讯,但是在实际的生活中 ...

  9. Centos 7 忘记密码的情况下,修改root密码

    应用场景 linux管理员忘记root密码,需要进行找回操作. 注意事项:本文基于centos7.4环境进行操作,由于centos的版本是有差异的,继续之前请确定好版本 操作步骤 一.重启系统,在开机 ...

  10. sql普通语句

    select DISTINCT t_id from nrc_newsDISTINCT不会输出相同的值select top 5 * from nrc_news;检索前五行select * from nr ...