一、序列
1、序列概述
序列不真的属于任何一张表,但是可以逻辑和表做绑定。序列默认从1开始,依次递增,主要用来给主键赋值使用。dual,虚表,只是为了补全语法,没有任何意义。
2、创建序列
语法:CREATE SEQUENCE <sequencen_name> INCREMENT BY n START WITH n [MAXVALUE n][MINVALUE n] [CYCLE|NOCYCLE] [CACHE n|NOCACHE];
实例:create sequence s_emp;
3、修改序列
语法:ALTER SEQUENCE <sequencen_name> INCREMENT BY n START WITH n [MAXVALUE n][MINVALUE n] [CYCLE|NOCYCLE] [CACHE n|NOCACHE];
实例:alter sequence s_emp;
4、删除序列
语法:DROP SEQUENCE <sequence_name>
实例:drop sequence s_emp;
5、使用序列
5.1、CURRVAL,返回序列的当前值.
实例:select s_emp.currval from dual;
注意:在刚建立序列后,序列的CURRVAL值为NULL,所以不能直接使用。可以先初始化序列再使用。
5.2、NEXTVAL,返回序列下一个值
实例:select s_emp.nextval from dual;
二、视图
1、视图概述
1.1、视图的概念
视图就是提供一个查询的窗口,所有数据来自于原表。
1.2、视图的作用
视图可以屏蔽掉一些敏感字段,保证总部和分部数据及时统一。
2、创建视图
语法:CREATE [OR REPLACE] VIEW <view_name> AS <SELECT 语句>;
实例:create view v_emp as select ename, job from emp;
注意:创建视图必须有管理员权限。
3、删除视图
语法:DROP VIEW <view_name>
实例:drop view v_emp;
4、查询视图
实例:select * from v_emp;
三、索引
1、索引概述
1.1、索引的概念
索引就是在表的列上构建一个二叉树。
1.2、索引的作用
达到大幅度提高查询效率的目的,但是索引会影响增删改的效率。
2、创建索引
语法:CREATE [UNIQUE] INDEX <index_name> ON <table_name>(字段 [ASC|DESC]);
实例:create index idx_ename on emp(ename);
3、删除索引
语法:DROP INDEX <index_name>;
实例:drop index idx_ename;