SQL語法

引用 http://tw.knowledge.yahoo.com/question/question?qid=1105063001689


SQL主要用在資料庫上



為控制資料庫的主要語言



目前大型資料庫都會用的到



下面是以前自已整理出來的SQL語法



Transact-SQL



1.資料定義語言(DDL)



CREATE:用來在SQL SERVER裡建立物件。



    EX



    Create Database ABC →建立名字為ABC的資料庫



    Create Table TABLE1→建立名字為TABLE1的資料表



    Create View VIEWSHOW As Select EmployeeID,EmployeeName From SHOW



    →建立名字為VIEWSHOW的檢視表資料來源為SHOW資料表裡面的EmployeeID及EmployeeNAME欄位



    Create Procedure ABCDO→建立一個名為ABCDO的程序



    Create Function GetEmployees→建立一個名為GetEmployees的自定函數



DROP :用來刪除資料庫、資料表、程序 註:無法回復



    EX



    Drop Procedure ABCDO,A1,A2→刪除名為ABCDO、A1、A2的程序



    DROP VIEW VIEWSHOW→刪除名為VIEW.SHOW的檢視表



    DROP TABLE TABLE1→刪除名為TABLE1的資料表



    DROP DATABASE ABC→刪除名為ABC的資料庫(刪除前必須先卸除資料庫的使用狀況



2.資料操作語言(DML)



SELECT:檢索資料



    EX



    Select StudentName,Math,Chinese From ABC INNER JOIN AClass on StudentID=AClassID INNER JOIN BClass on StudentID=BClassID Order By StudentName →從ABC查詢學生名字、數學、中文成績,join條件為id相同,依名字排序



    JOIN 合併 ON 條件子句



INSERT:新增資料到資料表



    EX



    Insert sales(stor_id,ord_num,ord_date,qty,payterms,title_id)



UPDATE:修改資料表中一個或多個資料欄的值



    Update Sales Set Payterms='COD' From Sales Inner Join Titles On Sales.title_id=Titles.title_id Where Titles.type='bussiness'



    Case陳述式:



    Update Sales Set Payterms=Case



    When Titles.type='bussiness' Then 'COD'



    When Titles.type=mod_cook' Then 'net 30'



    When Titles.type='Popular_comp' Then 'net 40'



    When Titles.type='Trad_cook' Then 'net 35'



    When Titles.type='Psychology' Then 'net 0'



    Else 'CASH'



    END



    From Sales Inner Join Titles on Sales.title_id=Titles.title_id



DELETE:用來刪除一個資料列或是一組資料列,如果沒有where子句,那麼所有該資料表中的資料列都會被清除



    EX



    Delete authors Where State='ca'



3.資料控制語言(DCL)



GRANT:權限授予



    EX



    Grant Select on Authors To Mary→授予Mary從Authors讀取資料的權力



    Grant Select on Authors To Mary With Grant Option → 授予Mary從Authors讀取資料的權力,並把授權的能力給予



REVOKE:撤銷權限



    EX



    Revoke Select,Update(au_lname,au_fname) On Authors From Johndoe→撤銷了Johndoe在Authors資料表中查詢、更新的權力



    Revoke Grant Option For Select on Sales From Mary CASCADE→撤銷Mary對其他人Select授權能力,最後的CASCADE確保由Mary授權的使用者也失去這個權限



DENY:跟 revoke很類似,同樣也是撤銷權限,但是比revoke更嚴格,比如jonedoe是屬於accounting的角色關係,授權給這2個角色讀取 sales資料的權限,現在如果revoke了johndoe的權限,但它還是可以因為隸屬於accounting而有權讀取;用DENY則可以避免這種情況



    EX



    Deny select on sales to Johndoe→完全的撤銷Johndoe讀取sales的權力

留言

這個網誌中的熱門文章

歐姆龍 HEM-7600T 評價,購買心得分享(打臉文)

超任 三國志3代,登入武將金手指

年青人眼鏡評價(負評),辛酸血淚史分享文