oracle--序列&视图&索引&视图&可视化操作&分页&数据库备份
--oracle学习内容
--oracle的管理系统学习
--oracle的数据管理学习
--oracle的用户管理
--oracle二维表管理
--oracle的其他知识
--oracle的序列、视图、索引
--oracle的分页查询
--oracle的数据库备份
序列 https://www.cnblogs.com/kkxwze/p/10852997.html
使用序列
1、创建序列 create sequence 序列名
特点:默认没有初始值的,nextval的值默认从1开始,默认每次自增+1
特点:可以使用 序列名.nextval坐为主键使用
create sequence cnum;
select cnum.currval from dual---获取当前序列值
select cnum.nextval from dual---序列自增后返回当前值 truncate table clazz
select * from clazz
insert into clazz values(cnum.nextval,'402班级','老师最污的班');--将序列作为主键
问题2:如果当前表中已有很多数据,但是接下来需要使用序列进行主键自增?
创建序列时指定序列初始值及步长
create sequence cc
start with 90---设定序列初始值
increment by 5---设定步长
insert into clazz values(cc.nextval,'402班级','老师最污的班'); select max(cid) from clazz
--
select cc.nextval from dual
select cc.currval from dual
select * from clazz
删除序列
drop sequence cc
索引
索引学习
select * from emp order by sal
select * from emp where sal=3000
问题:当表中数据量比较大的时候,使用条件查询就会出现效率的问题
使用索引进行解决
1、原理:类似于java中数组的折半查找,在数据库中数据使用B树形结构进行数据的存储,
--这样可以对外提供快速的数据查找方式。
2、创建索引 create index 表名_index_字段名 on 表名(字段名)
特点:显示的创建,隐式的执行.在数据中会给主键默认创建索引。
create index emp_index_sal on emp(sal)--创建查询索引
select * from emp where sal=3000
select * from emp order by sal
create index emp_index_sal_desc on emp(sal desc);--创建单排序索引
select * from emp order by sal,job
create index emp_index_sal_desc2 on emp(sal desc,job asc);--创建多条件排序索引
3、删除索引 drop index 索引名
drop index emp_index_sal_desc
视图学习
可视化操作
分页操作
select * from emp order by ename;
select rownum, r.* from (select * from emp order by ename) r where rownum > 15;
select * from (select rownum r, t.* from (select * from emp order by ename) t where rownum < 15) where r>=10;
select * from (select rownum r, t.* from (select e.* from XXX e order by e.ename) t where rownum < m*n) where r>=n*(m-1);
数据库备份
https://www.cnblogs.com/doudouxiaoye/p/5819607.html
https://blog.csdn.net/xinxiaoyonng/article/details/79436673
oracle--序列&视图&索引&视图&可视化操作&分页&数据库备份的更多相关文章
- Oracle序列和索引
序列和索引 一.序列 1.序列的概念: 序列(Sequence)是用来生成连续的整数数据的对象.它常常用来作为主键的增长列,可以升序,也可以降序. 2.创建序列: 语法:创建序列 ...
- (4.22)sql server视图/索引视图概念
(4.22)sql server视图 关键词:sql server视图.索引视图 SQL Server视图是由SQL语句组成的逻辑数据库对象.它也可以称为由SQL语句组成的虚拟表,该SQL语句可能包含 ...
- 序列&权限&索引&视图的语句
create sequence 订单_订单编号_seq -- 创建序列 (成功后在sequence中查询) increment by start with maxvalue nocycle nocac ...
- Oracle——序列、索引、同义词
一.常见的数据库对象 二.序列 序列: 可供多个用户用来产生唯一数值的数据库对象 自动提供唯一的数值 共享对象 主要用于提供主键值 将序列值装入内存可以提高访问效率 ①.创建序列 CREATE SEQ ...
- DDL:对数据库___database___的相关操作,包含数据库备份,导入
1.创建数据库 create database mydb2; create database mydb2 character set utf8; 2.删除数据库 drop database mydb2 ...
- 84. 从视图索引说Notes数据库(下)
作用和代价上文介绍了关系型数据库里的索引.Notes数据库里的索引隐藏在视图概念里(本文的讨论仅仅针对Notes的视图索引,不包括全文索引.).开发者创建的视图仅仅是存放在数据库里的一条设计文档.数据 ...
- SQLServer之创建索引视图
索引视图创建注意事项 对视图创建的第一个索引必须是唯一聚集索引. 创建唯一聚集索引后,可以创建更多非聚集索引. 为视图创建唯一聚集索引可以提高查询性能,因为视图在数据库中的存储方式与具有聚集索引的表的 ...
- ORACLE表、索引和分区详解
ORACLE表.索引和分区 一.数据库表 每种类型的表都有不同的特性,分别应用与不同的领域 堆组织表 聚簇表(共三种) 索引组织表 嵌套表 临时表 外部表和对象表 1.行迁移 建表过程中可以指定以下两 ...
- Oracle【序列、索引、视图、分页】
1.Oracle序列语法:create sequence 序列名 特点1:默认是无值,指针指向没有值的位置 特点2:序列名.nextval 每次执行值会自增一次,步长为 1 特点3:序列名.currv ...
随机推荐
- python List 常用方法
list是python常用的数据类型,属于可变的数据类型.用[]表示,里面的元素用','隔开,并且里面的元素类型可以不同,对于每个元素,list都有一个索引一一对应,第一个元素的索引是0,第二个是1, ...
- Linux C编程学习
C语言简介 简介 C语言具有控制特性较强.高效性.可移植性和强大的功能和灵活性."自由的代价是永远的警惕",C的简洁性与其丰富的运算符相结合,使其可能会编写出较难理解的代码.面向对 ...
- 【前端】HTML基础
前端 HTML:一个人 CSS:这个人的衣服 JS:这个人的行为 1 head标签 head相关标签 <!--html5--> <!DOCTYPE html> <html ...
- 【leetcode】1108. Defanging an IP Address
题目如下: Given a valid (IPv4) IP address, return a defanged version of that IP address. A defanged IP a ...
- vue引入css和js的方法
1.引入js的话 require('地址') imgport xxx from ‘src’ import xxx 2.引入css @import ‘ ’
- 七夕-心形表白-简单css代码
今天你要和谁过? 今天你要怎么过?? 今天去哪里吃??? 公司的三连问,对于一些单身狗有点招架不住啊. 在此送上一个薄礼,来安慰下受伤的心灵... 确定是安慰不是连环打击嘛..... 回答:确定! 来 ...
- 使用distinct消除重复记录的同时又能选取多个字段值
需求是:我要消除name字段值重复的记录,同时又要得到id字段的值,其中id是自增字段. select distinct name from t1 能消除重复记录,但只能取一个字段,现在要同时取id, ...
- Java——IO
[Java流式输入/输出原理]
- 【bzoj1179】[Apio2009]Atm
*题目描述: *输入: 第一行包含两个整数N.M.N表示路口的个数,M表示道路条数.接下来M行,每行两个整数,这两个整数都在1到N之间,第i+1行的两个整数表示第i条道路的起点和终点的路口编号.接下来 ...
- 使用xshell远程连接Linux
Linux系统对于程序员来说并不陌生,对IT技术员来说是一个很好的开发平台,因此掌握Linux系统的操作对于一个程序员来说非常有用.而对于习惯使用windows的人来说直接在Linux系统下进行操作感 ...