声明:以下内容是自己跟着教学视屏学习之后整理而来(主要是自用),如有侵权请告知,将尽快删除。

一、索引

1. 概述:
数据库对象之一
索引用于提高查询效率
索引的内建工作对用户是透明的,由数据库自行维护,我们只需要指定是否添加索引。
索引是为表中字段添加的。当一个字段经常出现在WHERE中作为过滤条件,或 ORDER BY 或 DISTINCT中时可以为其添加索引以提高查询效率。

2.索引的使用

(1) 单一索引

--创建索引
CREATE INDEX idx_emp_ename_ning
ON emp(ename)

SELECT ename,job,deptno
FROM emp_ning
WHERE ename='惜月'

(2) 复合索引:基于多个列的索引

CREATE INDEX idx_emp_job_sal_ning ON emp_ning(job,sal)
SELECT empno,ename,sal,job FROM emp_ning ORDER BY job,sal

(3)创建基于函数的索引

--在emp表的ename列上执行大小写无关的搜索
CREATE INDEX emp_ename_upper_idx_ning ON emp_ning(UPPER(ename))
SELECT * FROM emp_ning WHERE UPPER(ename)='惜月'

(4) 修改和删除索引

a.重建索引:如果经常在索引列上执行DML操作,需要定期重建索引
ALTER INDEX idx_emp_ename_ning REBUILD
b.删除索引
DROP INDEX idx_emp_ename_ning

二、结构化查询语言

参考文档:https://www.cnblogs.com/pinnsvin/p/5528272.html

结构化查询语言(sql)可以分为:

a. 数据定义语言(DDL)

b. 操纵语言(DML)

c. 事物控制语言(TCL)

d. 数据查询语言(DQL)

e. 数据控制语言(DCL)

1. 数据定义语言(DDL, Data Definition Language)

DDL作用是增删该数据库对象

语法:

a. CREATE:创建数据库对象(数据库对象主要包括:用户、数据库、表、视图、存储过程、存储函数、触发器、索引等);

CREATE TABLE employee_baobao(
id NUMBER(4),
name VARCHAR2(20) NOT NULL,
gender CHAR(1) DEFAULT 'M',
birth DATE,
salary NUMBER(6,2),
job VARCHAR2(30),
deptno NUMBER(2)
);

b. ALTER:修改数据库对象;

ALTER TABLE myemp_baobao
ADD(
hiredate DATE DEFAULT SYSDATE
)
DESC myemp_baobao

b. DROP:删除数据库对象

DROP TABLE employee_baobao

2 . 数据查询语言(DQL,Data Query Language)

主要是一些查询的sql语句。

语法:

select * from t1

3.数据操纵语言(DML, Data Manipulation Language)

主要是修改表中数据的一些sql语句。

语法结构:

a. INSERT

INSERT INTO myemp_baobao
  (id,name,job,salary)
VALUES
  (1,'JACK','MANAGER',5000)

b. UPDATE

update t_f_prj set f_name = 'xxx' where pk_id = ''

c. DELETE

delete from t1 where pk_id = '';

4.数据控制语言(DCL, Data Control Language)

主要是用来对数据库权限进行控制。由 GRANT 和 REVOKE 两个指令组成。

a.DCL:控制用户的访问权限;

b. GRANT:授权语句,对应的是REVOKE(撤销授权语句)。

 

oracle中索引的使用的更多相关文章

  1. 索引优化原则及Oracle中索引总结

    索引建立原则 确定针对该表的操作是大量的查询操作还是大量的增删改操作. 尝试建立索引来帮助特定的查询.检查自己的sql语句,为那些频繁在where子句中出现的字段建立索引. where语句中不得不对查 ...

  2. Oracle中索引名称的唯一性

    数据库索引处理是遇到的一点问题,简单记录下 oracle的规定,在同一个SCHEMA下的对象是不能用相同的名字命名的,一般创建索引名用“表名_字段名”,这样能很快知道这个索引,是属于哪个表的. col ...

  3. Oracle中索引的使用 索引性能优化调整

    索引是由Oracle维护的可选结构,为数据提供快速的访问.准确地判断在什么地方需要使用索引是困难的,使用索引有利于调节检索速度. 当建立一个索引时,必须指定用于跟踪的表名以及一个或多个表列.一旦建立了 ...

  4. oracle中索引快速全扫描和索引全扫描的区别

    当进行index full scan的时候 oracle定位到索引的root block,然后到branch block(如果有的话),再定位到第一个leaf block, 然后根据leaf bloc ...

  5. Oracle中的索引详解

    Oracle中的索引概述 索引与表一样,也属于段(segment)的一种.里面存放了用户的数据,跟表一样需要占用磁盘空间.索引是一种允许直接访问数据表中某一数据行的树型结构,为了提高查询效率而引入,是 ...

  6. [转]Oracle中的索引详解

    原文地址:http://www.oschina.net/question/30362_4057 一. ROWID的概念 存储了row在数据文件中的具体位置:64位 编码的数据,A-Z, a-z, 0- ...

  7. oracle中的B-TREE索引

    在字段值情况不同的条件下测试B-TREE索引效率 清空共享池和数据缓冲区alter system flush shared_pool;alter system flush buffer_cache; ...

  8. Oracle中如何导出存储过程、函数、包和触发器的定义语句?如何导出表的结构?如何导出索引的创建语句?

    Oracle中如何导出存储过程.函数.包和触发器的定义语句?如何导出表的结构?如何导出索引的创建语句? QQ群里有人问:如何导出一个用户下的存储过程?   麦苗答:方法有多种,可以使用DBMS_MET ...

  9. Oracle中B-TREE索引的深入理解(转载)

    索引概述 索引与表一样,也属于段(segment)的一种.里面存放了用户的数据,跟表一样需要占用磁盘空间.只不过,在索引里的数据存放形式与表里的数据存放形式非常的不一样.在理解索引时,可以想象一本书, ...

随机推荐

  1. roon

    http://www.sthifi.com/Article/ViewArticle.asp?id=10895 http://kb.roonlabs.com/LinuxInstall https://c ...

  2. UnicodeEncodeError: 'utf-8' codec can't encode character '\udce4' in position 1: surrogates not allowed根本解决方法

    下午开发新改的代码在print路径时出现上述问题,如下: Traceback (most recent call last): File "./update.py", line 6 ...

  3. suse日常操作(含suse/rhel内核与发行版对应关系)

    最近有家客户要求只能使用suse系统,是suse 12 sp3的,而且版本都不同意换,一直以来,都是使用rhel的客户,还没遇到过suse的,可偏偏不巧,我们的系统和suse 12 sp3自带的gli ...

  4. pprof函数名未翻译、为函数地址0x00000232382788

    这几天在分析一个性能未达预期的功能,使用gperftools cpu profiler生成后,使用pprof格式化的时候,发现pprof出的结果函数名未翻译.为函数地址,如下所示: 每个节点代表一个函 ...

  5. 在eclipse中, 如何快速输入(快捷键)System.out.println();

    1.快速输入(快捷键)System.out.println(); 首先输入sysout或syso,然后ALT+/ System.out.println(); 2.快速输入(快捷键)System.err ...

  6. bzoj 4445 小凸想跑步 - 半平面交

    题目传送门 vjudge的快速通道 bzoj的快速通道 题目大意 问在一个凸多边形内找一个点,连接这个点和所有顶点,使得与0号顶点,1号顶点构成的三角形是最小的概率. 假设点的位置是$(x, y)$, ...

  7. 浅谈k短路算法

    An Old but Classic Problem 给定一个$n$个点,$m$条边的带正权有向图.给定$s$和$t$,询问$s$到$t$的所有权和为正路径中,第$k$短的长度. Notice 定义两 ...

  8. tar+nc传输文件的使用

  9. InstallShield.12完美使用

    转载:http://www.360doc.com/content/13/0517/10/7918060_286039102.shtml 转载:http://jingyan.baidu.com/arti ...

  10. kaptcha验证码实现,配合spring boot使用

    一.kaptcha介绍 Kaptcha是谷歌放在github上的一个验证码jar包,我们可以简单配置属性实现验证码的验证功能. kaptcha参数设置如下所示: Constant 描述 默认值 kap ...