1-1、Oracle是啥碗糕
Oracle資料庫就如同微軟的SQL Sever、IBM的DB2及Informax及SYbase一樣,都是屬於大型的資料庫的軟體,也是目前全球佔有率最多的資料庫,它除了可安裝於Windows作業系統外,還可安裝於Unix及Linux作業系統上。
Oracle是美商Oracle公司的產品之一,但其眾多產品中,最讓人們所知道的,是他的資料庫軟體,因此大家說Oracle時,就是指Oracle公司的資料庫了。
Oracle又稱為「甲骨文」,對許多人而言,都認為它是一個不好入門的資料庫,而會有這樣子的感覺,乃是因為它不像SQL Sever有個視窗介面,因此除非使用者使用如TOAD(付費軟體,功能強大,粉貴)或DataStudio(V4.7.2版之前免費,雖不像TOAD功 能強大,但已足夠一般人使用)等視窗軟體,否則只能使用Oracle本身的軟體SQL Plus了,但筆者認為,視窗介面雖好用,但卻是造成使用者對SQL語法一知半解的主因。
想要學會使用Oracle,必需要先了解SQL語法,如 要將Oracle發揮更大的效率,更深入地,還要了解何謂Trigger、Function及Package,這些可都是Oracle資料庫的強項,要了解這些之前,必需要先了解何謂PL/SQL,這一些,筆者都會在後續的單元中講解。
在這裏,筆者只是要讀者了解基本什麼是Oracle,因此Oralce的歷史,並非是我們的討論範圍,準備好了嗎?跟我們進入Oracle的領域了。
1-2、下載Oracle
要學習Oracle,必需要先有Oracle資料庫,Oracle最難得的,是他的資料庫,我們可在Oracle的網站上找到,如你想要了解Oracle近 期究竟又有什麼商品的發表,那可至其英文網站http://www.oracle.com或中文網站http://www.oracle.com/tw/index.html查看,如下載Oracle資料庫軟體,那可至http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html中找你所要的版本。
但要注意的是Oracle資料下載業面中的Express Edition的版本,為其所謂的免費版本,其主要的限制是每個資料庫只提供4GB大小容量,且只提供給單一CPU所使用,對於只想練習的人來說,是十分足夠的了。
因Oracle資料庫軟體相當大,因此要先視自己的時間來決定是否下載,另外,筆者曾試過,要將Oracle安裝在Vista,結果無法安裝,後查詢 Oracle網站,才知道原來Oracle要安裝在Vista,必需是Oralce 10g第二版以上版本及Vista必需是Vista Business、Ultimate和Enterprise版才能安裝,因此要使用Oralce使用者,需先注意看自己所使用的Vista是否是 Vista Business、Ultimate和Enterprise版本,若是Windows XP、UNIX或LINUX的使用者,則無此問題。
1-3、了解基本SQL語法--Select
要了解Oracle前,必需要先了解基本的SQL語法,在此章節中,我們先就SQL最常用的Select來做討論。在討論前我們先假設二個資料表,分別是部門資料表及員工資料表,各別資料表內容如下:
資料表名稱: department |
|||
欄位名稱 |
欄位說明 |
欄位大小 |
PK |
depno |
部門編號 |
Varchar2(5) |
Y |
depnm |
部門名稱 |
Varchar2(30) |
N |
remark |
備註 |
Varchar2(200) |
N |
資料表名稱: employee |
|||
欄位名稱 |
欄位說明 |
欄位大小 |
PK |
depno |
部門編號 |
Varchar2(5) |
Y |
empno |
員工編號 |
Varchar2(8) |
Y |
empnm |
員工姓名 |
Varchar2(30) |
N |
基本Select架構 |
|||
Select的基本架構,基本來說,是指單一資料表的查詢而言,其語法如下:select 欄位名稱 from 資料表 where 條件內容;
|
|||
多資料表查詢 |
|||
多資料表則是指兩個以上的資料表之間的查詢,多資料表查詢一般是指查詢兩個有關聯的資料表來說,因此一般而言,多資料表的查詢會有where的關聯條件,其語法如下:select 別名A.別名A資料表欄位名稱, 別名B.別名B資料表欄位名稱, ...from 資料表A 資料表A別名,資料表B 資料表B別名, ...where 資料表A與資料表B關聯條件 and 其他條件;
|
|||
子查詢 |
|||
簡單來說,子查詢是指在查詢語法中,含有另一個查詢語法,由於子查詢是由一個或一個以上的查詢語法組成,因此在查詢的速度上,會比一般的查詢慢上許多,因此如非必要,最好盡可能不用,其語法如下:select 資料表A.欄位名稱, ...from 資料表A where 資料表A.欄位名稱 in (select 資料表B.欄位名稱 from 資料表b where 資料表B條件);
|
以上為SQL最基本的三種Select的用法,Select語法並不難,但難的是要如何運用,多練習、多問、多思考即是方式。而在Oracle中還有幾種常用的查詢:
- 查詢所有User:select * from all_users;
- 查詢所有資料表:select * from tab;
- 查看資料表所有欄位:desc 資料表名稱
另外在Oracle中還有一個虛擬資料表dual,其運用方式,我們將在下個章節中討論。
留言
張貼留言