天天看點

Oracle詳解(Ⅰ):世界上目前已知最好的關系型資料庫

Oracle詳解(Ⅰ):世界上目前已知最好的關系型資料庫

Oracle

Oracle資料庫的體系結構

資料庫:

Oracle資料庫是資料的實體存儲,這就包括(資料檔案ORA或者DBF、控制檔案、聯機日志、參數檔案)。其實Oracle資料庫的概念和其他資料庫不一樣,這裡的資料庫是一個作業系統隻有一個庫。可以看多是Oracle就隻有一個大資料庫

執行個體:

一個Oracle執行個體(Oracle Instance)有一系列的背景程序(BackGoundProcesses) 和記憶體結構(Memory Structures)組成,一個資料庫可以有N個執行個體。

資料檔案(dbf):

資料檔案是資料庫的實體存儲機關,資料庫的資料是存儲在表空間中的,真正是在某一個或者多個資料檔案中,而一個表空間可以由一個或者多個資料檔案組成,一個資料檔案隻能屬于一個表空間,一旦資料檔案被加入到某個表空間後,就不能删除這個檔案,如果要删除某個資料檔案,隻能删除其所屬于的表空間才行。

表空間:

表空間是Oracle對實體資料庫上相關資料檔案(ORA或者DBF檔案)的邏輯映射,一個資料庫在邏輯上被劃分成一個到若幹個表空間,每個表空間包含了在邏輯上相關聯的一組結構,每個資料庫至少有一個表空間(稱之為System表空間)每個表空間由同一個磁盤上的一個或者多個檔案組成,這些檔案叫資料檔案(datafile)一個資料檔案隻能屬于一個表空間。

Oracle詳解(Ⅰ):世界上目前已知最好的關系型資料庫

表空間

使用者:

使用者是在執行個體下建立的,不同的執行個體中可以建相同名字的使用者。

Oracle詳解(Ⅰ):世界上目前已知最好的關系型資料庫

架構圖

基本查詢

sql書面概念:

DML (資料庫操作語言)

INSERT UPDATE DELETE

DDL (資料庫定義語言)

CREATE DROP

DCL(資料庫控制語言)

GRANT REVOKE

1.查詢文法

select *|列名  from 表名;
           

2.别名用法

select 列名 别名,...  from 表名;
           

3.去重

select distinct *|列名  from 表名;
           

4.查詢中的四則運算

eg: 查詢員工的年薪
select ename,sal*12 income from emp;
           

5.連接配接符 ||

字元串連接配接查詢 等同于mysql中的 concat
           
Oracle詳解(Ⅰ):世界上目前已知最好的關系型資料庫

Mysql concat

Oracle詳解(Ⅰ):世界上目前已知最好的關系型資料庫

Oracle連接配接符

條件查詢和排序

使用where語句對結果進行過濾

select *|列名  from 表名 where ....(條件:比較運算符)
           
其他比較運算符

between...and... (在兩值之間,包含邊界)

IN(set) 等于值清單中的一個

LIKE 模糊查詢

IS NULL 空值

邏輯運算符

AND 邏輯并

OR 邏輯或

NOT 邏輯否

Where 語句示例

IS NOT NULL

Oracle詳解(Ⅰ):世界上目前已知最好的關系型資料庫

IS NULL

Oracle詳解(Ⅰ):世界上目前已知最好的關系型資料庫
Oracle詳解(Ⅰ):世界上目前已知最好的關系型資料庫

多個條件同時滿足時使用AND

Oracle詳解(Ⅰ):世界上目前已知最好的關系型資料庫

多個條件或滿足使用OR

Oracle詳解(Ⅰ):世界上目前已知最好的關系型資料庫

not的使用

Oracle詳解(Ⅰ):世界上目前已知最好的關系型資料庫

範圍限制

Oracle詳解(Ⅰ):世界上目前已知最好的關系型資料庫

between and

Oracle詳解(Ⅰ):世界上目前已知最好的關系型資料庫

指定範圍

模糊查詢

Oracle詳解(Ⅰ):世界上目前已知最好的關系型資料庫

like

Oracle詳解(Ⅰ):世界上目前已知最好的關系型資料庫

不等于

OrderBY

Oracle詳解(Ⅰ):世界上目前已知最好的關系型資料庫

預設升序

排序中的空值問題

排序的時候可能出現null時就會産生問題,使用nulls first nulls last 來指定null值得顯示位置

單行函數

接收字元輸入傳回字元串或者數值,dual是僞表

1.字元串的連接配接可以使用建議使用|| 而不是concat

select concat(String,String) from dual;

2.字元串的截取,使用substr,第一個參數是源字元串,第二個參數是開始索引,第三個參數是長度,開始索引使用1和0效果相同

3.擷取字元串的長度

length (String) from dual;

4 字元串替換,第一個參數是源字元串,第二個參數被替換的字元串,第三個是替換字元串

select replace('String','1','o')from dual;

數值函數

ROUND:四舍五入

ROUND(100.333,2)

TRUNC:截斷

TRUNC(100.33,2)

MOD:求餘

MOD(100,30)