SQL

--索引,相當於目錄 (提升查找的速度)
--insert,update用索引時反而降低效率
s_employees
--給S_EMPLOYEES表name列加上索引,在查找的時候效率變高
create index IND_A on S_EMPLOYEES (NAME);
--
SELECT * FROM s_employees WHERE name='李鴻'
----############################################----
--在sys用戶下賦給qianiqna用戶一個dba權限,否則因權限不夠無法創建視圖
grant dba to qianqian
--視圖:在數據庫中真實存在的虛表(虛表:只能對其進行查看不能進行修改)
--創建視圖(一旦創建視圖,以後要執行視圖後面的代碼可以直接執行視圖來代替)
CREATE or replace view AA as
SELECT SE.NAME "姓名",
       SE.ID   "員工工號",
       SW.WAGE "員工工資",
       AA.D    "部門負責人",
       AA.A    "部門負責人工資",
       AA.C    "部門"
  FROM S_EMPLOYEES SE,
       S_WAGE SW,
       S_DEP SD,
       (SELECT SW1.WAGE A, SD1.DEPID B, SD1.DEPNAME C, SE1.NAME D
          FROM S_WAGE SW1, S_DEP SD1, S_EMPLOYEES SE1
         WHERE SD1.DEPMANGER = SW1.ID
           AND SE1.ID = SW1.ID) AA
 WHERE SE.ID = SW.ID
   AND SE.DEPID = SD.DEPID
   AND SW.WAGE > AA.A
   AND SD.DEPNAME IN ('銷售部', '運營部')
   AND AA.B = SD.DEPID;
--視圖代替代碼塊的執行(效果一樣)
SELECT * FROM aa
----############################################----
--Sequences用法(序列)~可以穩定的存儲
--必須先執行一次Nextval(自增長)
SELECT abc.Nextval FROM dual;
--記錄增長到哪一個值
SELECT abc.CURRVAL FROM dual
----############################################----
--刪除序列
DROP SEQUENCE abc
--刪除視圖
DROP VIEW AA
--刪除索引
DROP INDEX IND_A 


--回閃(可恢復DELETE或UPDATE執行後的數據)
--不可恢復truncate刪除的數據
--不可恢復加索引的列
--恢復僅僅是可以看到前段時間對應表裏的內容
--但當前表裏任然沒有該內容
--總結(只要改變了表的結構就無法對該表進行回閃)
--回閃(SYSDATE的單位是天)
SELECT * FROM s_employees AS OF TIMESTAMP SYSDATE - 10/1440 WHERE name='李鴻'
SELECT * FROM s_employees WHERE name='李鴻'
DELETE FROM s_employees WHERE name='李鴻'
--
insert into s_employees SELECT * FROM s_employees AS OF TIMESTAMP SYSDATE - 10/1440 WHERE name='李鴻'
--#####################--
--DDL(數據定義語言)
CREATE TABLE LYH(name varchar2(10),age number(6,2),gender varchar(3))
SELECT * FROM LYH
ALTER table LYH add ID varchar(6)
ALTER table LYH DROP COLUMN ID
COMMENT ON table LYH IS'劉彥亨' 
COMMENT ON COLUMN LYH.name IS '姓名'
--truncate雖然是清空了表裏的內容,但從結構上來看是屬於DDL語言
TRUNCATE TABLE LYH
--#####################-- 
1、DCL
數據庫控制語言,全稱是Data Control Language
關鍵字類型:grant、remove
2、DDL
數據庫定義語言,全稱是Data Definition Language
關鍵字類型:Creat
3、DML
數據庫操作語言,全稱是Data Manipulation Language 
關鍵字類型:Insert、Delete、Update
4、DQL
數據庫查詢語言,全稱是Data Query Language
關鍵字類型:Select
--#####################-- 
--DML(數據操作語言)
--多個語句要想同時執行必須在每個語句後面加上封號
INSERT INTO  LYH Values('張小娟',22,'女')
INSERT INTO  LYH Values('劉彥亨',22,'男')
INSERT INTO  LYH Values('劉啓夢',22,'女')
INSERT INTO  LYH Values('雷江鵬',22,'男')
INSERT INTO  LYH Values('曲孟雷',22,'女')
--如果要插入結果集要不不使用values要不就使用value
Insert INTO  LYH SELECT * FROM LYH
Insert INTO  LYH value(SELECT * FROM LYH)
--使用union插入多個結果集
Insert INTO  LYH SELECT * FROM LYH
union SELECT * FROM LYH
--修改表中的數據
UPDATE LYH SET gender='男' WHERE name='曲孟雷'
--查找表中的數據
SELECT * FROM LYH WHERE name='曲孟雷'
--刪除表中的數據
DELETE FROM LYH  WHERE name='曲孟雷'

--備份表
CREATE TABLE LH AS SELECT * FROM LYH
SELECT * FROM LH

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章