oracle中索引的使用


聲明:以下內容是自己跟着教學視屏學習之后整理而來(主要是自用),如有侵權請告知,將盡快刪除。

 

一、索引

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 = '123'

c. DELETE 

delete from t1 where pk_id = '123';

 

4.數據控制語言(DCL, Data Control Language)

主要是用來對數據庫權限進行控制。由 GRANT 和 REVOKE 兩個指令組成。

a.DCL:控制用戶的訪問權限;

b. GRANT:授權語句,對應的是REVOKE(撤銷授權語句)。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM