4.1.1 SQL是什麼
SQL(Structured Query Language,譯為結構化查詢語言)在關系型數據庫中的地位就猶如英語在世界上的地位。它是數據庫系統的通用語言,利用它,用戶可以用幾乎同樣的語句在不同的數據庫系統上執行同樣的操作。比如“select * from 數據表名”代表要從某個數據表中取出全部數據,在Oracle 9i、SQL Server 2000、Foxpro等關系型數據庫中都可以使用這條語句。SQL已經被ANSI(美國國家標准化組織)確定為數據庫系統的工業標准。
SQL語言按照功能可以分為4大類。
數據查詢語言DQL:查詢數據。
數據定義語言DDL:建立、刪除和修改數據對象。
數據操縱語言DML:完成數據操作的命令,包括查詢。
數據控制語言DCL:控制對數據庫的訪問,服務器的關閉、啟動等。
4.1.2 SQL的主要特點
SQL語言簡單易學、風格統一,利用簡單的幾個英語單詞的組合就可以完成所有的功能。在SQLPlus Worksheet環境下可以單獨使用的SQL語句,幾乎可以不加修改地嵌入到如VB、PB這樣的前端開發平台上,利用前端工具的計算能力和SQL的數據庫操縱能力,可以快速建立數據庫應用程序。
4.1.3 Oracle 9i使用SQL的工具
在Oracle 9i中為使用SQL語言提供了兩個主要的工具。
【SQL Plus】
【SQLPlus Worksheet】
兩種工具在使用上功能都相同,但在可操作性上,【SQLPlus Worksheet】更適合初學者。因此,本書重點介紹後者的使用。
4.1.4 SQL中訪問數據表的方法
在SQL語言中訪問數據表是通過“用戶名.數據表”的形式來進行的。
比如在Oracle 9i數據庫服務器安裝過程中,默認建立有scott用戶,該用戶對dept數據表和emp數據表有數據查詢的權限,因此訪問數據表的語句為select * from scott.emp。當然,如果用戶是用scott用戶本身登錄的,則訪問數據表的語句可以簡化為select * from emp,實質是一樣的。
在本章的實例中,我們以數據庫系統管理員system、口令manager登錄數據庫,訪問數據必須采用select * from scott.emp的形式。即使是用戶本身登錄後訪問屬於自己的數據表,我們也推薦使用“用戶名.數據表”的形式來訪問數據表以清楚地反映數據表的有權用戶信息。
4.1.5 兩個范例數據表
在讀者沒有學習如何創建數據表,如何創建用戶,如何將用戶賦予對數據表的訪問權限之前,我們以數據庫已經建立的兩個范例數據表為例來介紹。
(1)啟動【SQLPlus Worksheet】
(2)在【命令編輯區】輸入語句“desc scott.emp”,然後單擊【執行】按鈕,出現如圖4.1所示的emp數據表結構。
【參見光盤文件】:\第4章\4.1\415-1.sql。
desc,describe命令的簡化形式,作用是顯示數據表的結構。使用形式:“desc 數據表名”。
(3)在【命令編輯區】輸入“desc scott.dept”,然後單擊【執行】按鈕,出現如圖4.2所示的scott.dept數據表結構。
【參見光盤文件】:\第4章\4.1\415-2.sql。
接下來我們以實際查詢例子來介紹數據查詢的語法,讀者可以參照配套光盤的實例跟隨本書執行同樣的操作。