1. 程式人生 > >Oracle資料庫使用基本語法整理——(1)

Oracle資料庫使用基本語法整理——(1)

資料庫高階(oracle)1、sql基礎    1.1 sql語言:structure query language        DDL:(data define language) create \drop\alter\truncate(截斷)             ddl預設自帶事務,自動提交        DML:(DATA MANAGEMENT LANGUAGE) INSERT \DELETE\UPDATE\SELECT               dml 自帶事務,非主動提交;        TCL:(transaction controll language)  commit\rollback\savepoint           savepoint是的對事務的控制更細;           ACID:DCL:(data controll language) grant\revoke     1.2 drop、delete、truncate的區別與聯絡         drop:刪除表 (表結構、記錄)    寫工作日誌        可找回         delete:刪除記錄(記錄)寫工作日誌        可找回         truncate:截斷表(刪除記錄) 不寫工作日誌      不可找回     1.3 資料型別         字元型:          數值:           日期:       大物件              char:          int              date          blob            varchar:       number(p,s)   timestamp      clob             long:(2G)                                   flob           日期型別的本質:長整數     1.4 常用函式          日期型別:sysdate、date、to_date(a,b)         控制處理:nvl、nvl2         聚合函式():avg、sum、min、max、count     1.5 複雜查詢          多表連線          子查詢          層次查詢(遞迴查詢)          行列倒置:          記錄去重:2、常用物件(序列、檢視、索引);
   2.1 序列       作為一個物件存在,多表使用一序列,一個表可以擁有多列的自增長;       create sequence 序列名         start with  起始數       不可更新         minvalue    最小值         maxvalue    最大值         increment by  間隔數         cycle   Yes|No  是否迴圈         cache  緩衝數      2.2 檢視        view:虛表,存在於記憶體中,不佔儲存空間;        a、分類:           簡單檢視(單表檢視)    *對檢視的操作等同與對基表的操作,前提不違反基表的約束;           複雜檢視(多表檢視)             多表連線查詢生成的檢視,為複雜檢視    *鍵保留表:在複雜檢視中如果一個表的主鍵在檢視中也當主鍵則,                       該主鍵所在的基表為鍵保留表的                 所有鍵保留表的欄位在檢視中可修改,非鍵保留表字段不可修改;            *對複雜檢視實現crud需要觸發器的介入;           物理檢視         b、優勢:           將資料庫設計與使用分離;           將資料來源隱藏;           更改欄位名稱;           冗餘對資料表的維護;        c、基表:物理表、檢視          2.3 索引        index :索引佔用空間        區域性掃描與全域性掃描        a、特點:有效索引可以提高查詢效能,但會降低增刪改的效能;        b、單表索引一般不超過5個;        c、主鍵、外來鍵、經常查詢的欄位;        d、導致索引失效:not 、or、函式、偽列        e、oracle索引(B樹)           標準索引、唯一索引、反向鍵索引、點陣圖索引           1234  4321           1235  5321           1236  6321           1237  7321           性別:男、女、未知           欄位的取值數/記錄數=0-1        f、create index idex on 表(索引欄位);        h、索引對使用者完全透明;         i、索引存什麼》           記錄標識+索引欄位(主鍵+索引欄位) 3、pl/sql基礎
   3.1 語義: procedure language/structure query language   3.2 基本語法;[declare  區域性變數 資料型別 ;  區域性變數 資料型別  :=預設值;  區域性變數 資料型別  default 預設值;  常量 constant 資料型別  default 預設值;]begin  執行語句;  [exception]end ;      屬性型別:          表名.欄位%type          表名%rowtype   3.3 邏輯處理;        if else 、if elsif          for        while         loop  end loop   3.4 異常捕獲;       a、預定義異常 :too_many_rows\no_data_found\others       b、自定義異常:             定義異常型別             主動丟擲異常       c、oracle錯誤資訊   3.5 不記名塊;       a、在plsql中只能出現增刪改操作,不能出現查詢操作;(DML)       b、ddl語法只能以動態指令的形式出現;       c、tcl語法可以出現;   3.6 purge recyclebin; 清空回收站