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

一、索引

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. Charles 从入门到精通 --转

    文章目录 1. 目录及更新说明 2. Charles 限时优惠 3. 简介 4. 安装 Charles 5. 将 Charles 设置成系统代理 6. Charles 主界面介绍 7. 过滤网络请求 ...

  2. HashMap和LinkedHashMap区别

    import java.util.HashMap; import java.util.Iterator; import java.util.LinkedHashMap; import java.uti ...

  3. Java编译报错:意外的类型

    先上代码 后续更新 public class IncidentType { public static void main(String[] args) { int a = 3; int b = ++ ...

  4. php打乱数组二维数组、多维数组

    //这个是针对二维数组的!下面针对多维数组的乱序方法<?php function shuffle_assoc($list) { if (!is_array($list)) return $lis ...

  5. 使用v-bind处理class与style

    普通的css引入: 变量引入: 通过定义一个变量fontColor来通过v-bind来进行绑定在h3z的class中 <!--变量引入--> <h3 :class="fon ...

  6. Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) E: Unable to lock the administration di

    alexander@alexander-virtual-machine:~$ sudo apt-get install -y httpdE: Could not get lock /var/lib/d ...

  7. 本地win7ping VM linux ipv6地址问题

    前述 在windows和linux同时安装ipv6之后,系统将会自动分配一个link-local(链接本地)地址也就是ifconfig -a看到的一行[inet6 addr: fe80::20c:29 ...

  8. MongoDB入门一

    一.环境配置 1.下载MongoDB,找到Bin目录下所有的.exe文件,拷贝到G盘MongoDB(新建)下,在MongoDB下建一个data文件,用于存放数据,创建一个logs文件夹,文件夹下创建一 ...

  9. mysqladmin 使用

    1.第一次没有密码 mysqladmin -u root -p password aook 2.已经有密码的情况下 mysqladmin -u root -paook password aook**0 ...

  10. Overture 5入门之如何设置延音线

    延音线作为五线谱标记符合之一,是大家使用Overture时需要常用的一个基本标记符号.延音线是一条向上或向下弯曲的弧线,它的作用是将两个或两个以上的具有相同高音的音符来进行相连. 延音线作为再编曲演唱 ...