SQL(Structured Query Language)是一種程式語言,它可以在命令模式下讓使用者與資料庫系統進行交談式互動,或者是編寫成程式檔(SQL Script)執行。它的語法簡單直覺,容易學習且快速上手。發展至今已經約三十餘年,廣泛流行的程度不減當年。
市面上流行的資料庫系統產品眾多,但以SQL進行資料操作的基本精神不變,每個產品為提供使用者更方便更有效的資料庫系統功能,除了標準ANSI SQL外,還會提供屬於自家產品特有的SQL語法及函式,像Oracle的PL/SQL、Microsoft SQL Server的T-SQL等。有鑑於初學者常常會因此而混淆,甚至混用,在本書介紹的SQL語法為ANSI標準,可適用於任何支援標準SQL語法的資料庫系統上。
本書的定位為基礎入門書籍,所以會從最基本的觀念開始闡述。研讀本書你不需要有任何資料庫的基本觀念,作者以深入淺出循序漸近的方式,將你帶入資料庫領域的大門。在書中採用的實作案例,是採用免費的MySQL資料庫系統做為練習平臺,透過實際操作讓你對SQL語法更有感覺。
結構化查詢語言,簡單得讓你可以立即上手
第一章先從SQL過去的歷史背景及演進過程談起,介紹關連式資料庫的基本觀念及一些重要名詞。第二章開始就以實作方式,介紹如何透過MySQL進行資料庫系統的操作,教你如何一步一步以SQL命令建立資料庫,建立及變更資料表(Table)結構,資料型態的差異,資料的增刪修改等。
由於資料查詢功能是SQL語法的精華所在,第三、四、五章說明如何從資料庫找出你要的資料,這就提到SELECT語法的結構及相關撰寫方式,如何搭配SQL提供的函式形成所需的過濾條件,以及跨多個資料表的存取方式。這裡會談到許多實用的細節,利用Join方式從一個以上的資料表找出關連性,這也會是許多報表設計時常會運用到的重要觀念。而Join的方式亦有許多方式,在第十章可以找到完整的用法說明。
第六章介紹如何運用集合(Set)的概念融入資料操作上,第七章介紹對於不同型態資料(字元、數值、日期等)的處理方式,其間的轉換方式為何,另外第八章提到利用群組化(Grouping)及聚集(Aggregate)的功能,對資料進行分組運算,產生簡單的統計結果。
當你的資料無法單純以一個查詢語法得出,子查詢(Subquery)便可以幫你解決。第九章介紹子查詢的使用方式,它可以當成另一個查詢的資料來源,或過濾條件值,它亦是為十分實用的語法。而條件判斷的機制,在第十章介紹了CASE的用法,可以根據變數值來決定不同的處理。
在多人同時使用資料庫系統時,交易管理機制就十分重要。第十二章便介紹交易的意義,利用不同形式的資料鎖定方式,透過交易機制針對資料一致性及完整性上達到有效控制。第十三章談到資料的正確性亦可以透過限制來防微杜漸,透過建立索引來提昇資料庫查詢的效率。
SQL入門者的良伴,與實作相結合
只要你的工作會接觸到資料庫,不管是開發應用系統,或負責系統管理工作,或是製作分析報表,就會與SQL脫離不了關係。在實務上有很多報表產生工具或是整合性開發環境,都提供自動產生SQL命令的強大功能,但身為IT從業人員的你,能深入了解SQL命令的用法,對於資料結構的關連性及資料操作的觀念才會有更全面的了解。
介紹SQL的書實在太多,你或許會問:這本書到底那兒值得推薦?像是類似指令集、參考手冊的內容,只能在需要的時候當成字典般地查閱,所獲得的資訊也較為零散,並非學習導向,通常是讀過即忘。本書內容架構以教材方式編寫,可以當成教師們授課教材,每章後面亦提供練習題目,章節規劃即為作者建議的學習順序。也許是定位為入門書的關係,本書並非提及與DBA維護工作(像是Backup/Restore)有關的內容,以及如何撰寫Trigger及Stored Procedure。若是這些內容也一併包含,就再完美也不過了。
Learning SQL
Alan Beaulieu/著
O'Reilly出版
售價:34.95美元
推薦:Amazon五顆星
《作者簡介》陳宏一
交通大學資訊管理研究所碩士,現任億訊國際資深顧問。曾任職於南亞科技資訊部工程師、資迅人網路研發副理、艾群科技產品研發部經理,專精於OOAD、J2EE 相關技術、Open Source、資料庫設計、軟體開發流程及專案管理等;取得SCJP、SCWCD、SCJD、SCEA、ITIL等認證。曾經歷大型社群及電子商務網站、WAP/3G行動加值服務、CTI/CRM客服系統架構規劃設計等。
熱門新聞
2025-12-12
2025-12-15
2025-12-12
2025-12-15
2025-12-12
2025-12-15