標籤:query 建立 get 包括 效率 ble 預存程序 date esc
聲明:以下內容是自己跟著教學視屏學習之後整理而來(主要是自用),如有侵權請告知,將儘快刪除。
一、索引
1. 概述:
資料庫物件之一
索引用於提高查詢效率
索引的內建工作對使用者是透明的,由資料庫自我維護,我們只需要指定是否添加索引。
索引是為表中欄位添加的。當一個欄位經常出現在WHERE中作為過濾條件,或 ORDER BY 或 DISTINCT中時可以為其添加索引以提高查詢效率。
2.索引的使用
(1) 單一索引
--建立索引CREATE INDEX idx_emp_ename_ningON emp(ename)
SELECT ename,job,deptno FROM emp_ningWHERE 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
二、結構化查詢語言 (SQL)
參考文檔:https://www.cnblogs.com/pinnsvin/p/5528272.html
結構化查詢語言 (SQL)(sql)可以分為:
a. 資料定義語言 (Data Definition Language)(DDL)
b. 操縱語言(DML)
c. 事物控制語言(TCL)
d. 資料查詢語言(DQL)
e. 資料控制語言(DCL)
1. 資料定義語言 (Data Definition Language)(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_baobaoADD( 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(撤銷授權語句)。
oracle中索引的使用