2010年10月22日 星期五

SQL語法與函數應用

認識SQL語法:
SQL結構化查詢語言,即( Structured Query Language ), 是用來存取(relational database)的語言。SQL 提供一組敘述,以便於關連式資料庫中做資料的儲存與檢索。自從第一個關連式資料庫問世以來,它就已經慢慢地普及開來。其間也有別的語言被提出,但目前SQL 幾乎成為所有關連式資料庫所能接受的標準語言。
SQL 和其它程式語言的差異之處,在於它不具程序性。不像用其它語言所寫的程式,可以指定步驟來執行,SQL 程式(更確切地說,應稱為SQL 敘述)僅會表達所需的結果。至於該如何決定資料的處理程序,以產生所需要的結果,此責任將留待資料庫管理系統來處理。由於SQL 的這個不具程序性特色,使它可於應用程式中更容易地存取資料。
若你正在使用Oracle 資料庫,那麼SQL 會是你用來存取儲存於資料庫中資料的介面。SQL 可幫你建立資料庫結構,例如表格(table,存放資料)、視觀表(view)和(index)。SQL 讓你可將資料插入資料庫,並依照所需格式,取回所儲存的資料(例如排序)。最後,SQL 也允許你可對所儲存的資料做修改、刪除或其它動作。SQL 是你在對資料庫中做任何動作的關鍵所在,所以,瞭解如何使用所有介面是極為重要的一件事。完整地掌握SQL 語言,是身為一個資料庫開發者,或資料庫管理者所需具備的基本條件之一。
SQL 語法分類
SQL 語法中的敘述, 依用途的不同, 可分為 DDL (Data Definition Language,資料定義語言)、DML (Data Manipulation Language, 資料處理語言) 與 DCL (Data Control Language,資料控制語言) 3 大類,其分類如下:
1.DDL (Data Definition Language, 資料定義語言):在 SQL Server 中 每一個資料庫、資料庫中的資料表 (Table)、檢視表 (View)、索引 (Index) ... 等等都視為物件。

語法
功能說明
create
建立資料庫或資料表
alter
變更資料庫或資料表結構
drop
刪除資料庫或資料表


凡用來定義 (或建立) 資料庫物件, 以及修改資料庫物件結構的 SQL 敘述, 都屬於 DDL (資料定義語言)。例如下面的 CREATE DATABASE 敘述以及 CREATE TABLE 敘述:
2.DML (Data Manipulation Language, 資料處理語言):SQL 語法中用來做資料處理的敘述則屬於 DML (資料處理語言) 這一類, 例如用 SELECT 敘述挑選出 (查詢) 資料表欄位, 用 INSERT 、DELETE 、UPDATE 敘述在資料表中新增、刪除、更改記錄, 這些敘述都是屬於 DML。

語法
功能說明
語法
功能說明
select
查詢資料
update
更新資料
insert
插入資料
delete
刪除資料


3.DCL (Data Control Language, 資料控制語言):DCL (資料控制語言) 一般是指專門用來設定資料庫物件 (如資料表、檢視表、預存程序等) 使用權限的敘述, 包括 GRANT (允許使用)、DENY (拒絕使用)、REVOKE (取消權限設定) 等 3 種。
但若以廣義的角度來看, 還可包括控制執行流程的 IF ... ELSE、WHILE, 以及控制交易進行的 BEGIN TRAN、COMMIT TRAN、ROLLBACK TRAN ... 等等敘述。

語法
功能說明
commit
確定資料的變更
grant
設定使用者對資料的操作權限
revoke
取消使用者操作權限
rollback
取消資料的變更