- SQL查詢(xún)的藝術(shù)
- 張權(quán) 郭天嬌
- 1982字
- 2019-01-02 08:08:06
前言
關(guān)系數(shù)據(jù)庫(kù)已經(jīng)成為數(shù)據(jù)庫(kù)系統(tǒng)的主流。目前廣泛使用的數(shù)據(jù)庫(kù)軟件都是基于關(guān)系模型的。SQL的全稱(chēng)是Structured Query Language(結(jié)構(gòu)化查詢(xún)語(yǔ)言),是關(guān)系數(shù)據(jù)庫(kù)中最常用的語(yǔ)言。SQL不僅可以用來(lái)管理數(shù)據(jù)庫(kù)中的數(shù)據(jù),還可以用來(lái)管理關(guān)系數(shù)據(jù)庫(kù)本身。讀者可以通過(guò)交互式客戶(hù)端應(yīng)用程序利用SQL直接訪問(wèn)SQL數(shù)據(jù)庫(kù)。本書(shū)從SQL基本知識(shí)開(kāi)始,結(jié)合流行的數(shù)據(jù)庫(kù)軟件(SQL Server和Oracle),講述了數(shù)據(jù)操作與系統(tǒng)管理的方方面面。
本書(shū)特點(diǎn)
內(nèi)容全面、結(jié)構(gòu)清晰、查詢(xún)方便
本書(shū)依照SQL語(yǔ)句要素,按照數(shù)據(jù)定義、數(shù)據(jù)查詢(xún)、數(shù)據(jù)操縱、數(shù)據(jù)控制、事務(wù)控制和程序化SQL的順序講解SQL語(yǔ)言,內(nèi)容全面。
本書(shū)中,大多數(shù)SQL語(yǔ)句都是采用“語(yǔ)法、說(shuō)明、實(shí)例、實(shí)例代碼、運(yùn)行結(jié)果”的順序結(jié)構(gòu)來(lái)闡述的,方便讀者學(xué)習(xí)和速查。
實(shí)例豐富、緊密結(jié)合實(shí)際應(yīng)用
本書(shū)共包括大小實(shí)例321個(gè),可以讓讀者在學(xué)習(xí)SQL語(yǔ)言原理的同時(shí)掌握其用法。
本書(shū)還兼顧了SQL語(yǔ)句在各數(shù)據(jù)庫(kù)產(chǎn)品中的實(shí)現(xiàn)。對(duì)于SQL Server和Oracle中差別不大的語(yǔ)句,本書(shū)在實(shí)例部分只介紹其在SQL Server中的實(shí)現(xiàn)過(guò)程;而對(duì)于SQL Server和Oracle中差別比較大的語(yǔ)句,本書(shū)在實(shí)例部分分別介紹其在SQL Server和Oracle中的實(shí)現(xiàn)。
本書(shū)內(nèi)容
第1章是本書(shū)的開(kāi)篇,主要介紹了關(guān)系數(shù)據(jù)庫(kù)和關(guān)系模型,這些是SQL的基礎(chǔ)。本章還從整體上介紹了SQL以及SQL環(huán)境的組成。
第2章是本書(shū)的預(yù)備知識(shí),簡(jiǎn)單介紹了常用的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)SQL Server的基本情況,以及它支持的SQL擴(kuò)展語(yǔ)言Transact-SQL的基本概念和主要內(nèi)容,為后面介紹SQL的具體應(yīng)用打下了基礎(chǔ)。
第3章主要介紹了SQL中常用的數(shù)據(jù)類(lèi)型以及SQL中表的定義語(yǔ)句,其中講解了使用CREATE TABLE語(yǔ)句創(chuàng)建表,使用ALTER TABLE語(yǔ)句修改表(包括增加列、刪除列和修改列),以及使用DROP TABLE語(yǔ)句刪除表。
第4章介紹了索引、視圖的基本概念,在SQL中創(chuàng)建、銷(xiāo)毀索引和視圖的語(yǔ)法及實(shí)現(xiàn)實(shí)例,并且給出了它們的使用原則。
第5章介紹了SQL查詢(xún)語(yǔ)句(SELECT語(yǔ)句)的基本語(yǔ)法結(jié)構(gòu)和執(zhí)行步驟,主要介紹了一些常用的簡(jiǎn)單查詢(xún),包括列的查詢(xún)、使用ORDER BY子句對(duì)查詢(xún)結(jié)果排序,同時(shí)介紹了使用條件字句WHERE為查詢(xún)?cè)O(shè)置簡(jiǎn)單搜索條件。
第6章介紹了在WHERE子句中經(jīng)常使用的復(fù)雜的條件查詢(xún),包括組合查詢(xún)條件、IN運(yùn)算符、NOT運(yùn)算符,以及使用LIKE運(yùn)算符和通配符進(jìn)行模糊查詢(xún)等。
第7章介紹了在SQL數(shù)據(jù)查詢(xún)時(shí),如何通過(guò)連接符、數(shù)學(xué)運(yùn)算以及函數(shù)等在查詢(xún)過(guò)程中對(duì)數(shù)據(jù)進(jìn)行一些處理,并且將處理后的結(jié)果提供給用戶(hù)。
第8章介紹了在SQL中如何運(yùn)用聚合函數(shù)對(duì)數(shù)據(jù)進(jìn)行聚合分析。在使用聚合函數(shù)時(shí),本章還介紹了使用GROUP BY子句進(jìn)行分組聚合分析以及使用HAVING子句對(duì)分組信息進(jìn)行進(jìn)一步篩選。
第9章從基本的連接入手,介紹了表的自連接、自然連接、內(nèi)連接和外連接,其中內(nèi)連接介紹了等值連接和不等值連接兩種基本形式;外連接介紹了左外連接、右外連接和全外連接。
第10章講解了子查詢(xún),包括創(chuàng)建和使用返回單值的子查詢(xún)、返回多行的子查詢(xún)、相關(guān)子查詢(xún)和嵌套子查詢(xún)等內(nèi)容。
第11章介紹了使用INSERT語(yǔ)句向表中插入數(shù)據(jù),詳細(xì)介紹了單行記錄、多行記錄的插入以及表中數(shù)據(jù)的復(fù)制操作,還介紹了數(shù)據(jù)庫(kù)中經(jīng)常用到的數(shù)據(jù)的導(dǎo)入/導(dǎo)出操作。
第12章介紹了使用UPDATE語(yǔ)句更新表中的數(shù)據(jù)和使用DELETE語(yǔ)句刪除表中的數(shù)據(jù),分別介紹了更新和刪除表中的一行、多行以及所有行數(shù)據(jù)的操作。
第13章介紹了SQL對(duì)數(shù)據(jù)庫(kù)的安全性控制功能;在介紹SQL安全模式的基礎(chǔ)上,詳細(xì)介紹了SQL中的角色管理與權(quán)限管理;最后,對(duì)SQL Server和Oracle中的安全管理進(jìn)行了詳細(xì)的論述。
第14章介紹了與表有關(guān)的約束:NOT NULL約束、UNIQUE約束、PRIMARY KEY約束、FOREIGN KEY約束和CHECK約束、域約束以及斷言,最后對(duì)SQL Server提供的規(guī)則對(duì)象與缺省值對(duì)象作了詳細(xì)介紹。
第15章介紹了SQL中的存儲(chǔ)過(guò)程與函數(shù)。本章主要以SQL Server數(shù)據(jù)庫(kù)為例,結(jié)合實(shí)例講解了存儲(chǔ)過(guò)程和函數(shù)的開(kāi)發(fā)調(diào)用過(guò)程,最后對(duì)Oracle的存儲(chǔ)過(guò)程與函數(shù)開(kāi)發(fā)作了簡(jiǎn)單的介紹。
第16章介紹了SQL中觸發(fā)器的有關(guān)概念和操作。
第17章介紹了SQL中通過(guò)游標(biāo)提取和維護(hù)數(shù)據(jù)的方法,然后詳細(xì)介紹了在SQL Server和Oracle中,游標(biāo)的擴(kuò)展應(yīng)用實(shí)例。
第18章介紹了事務(wù)的概念、事務(wù)控制的實(shí)現(xiàn)以及多用戶(hù)訪問(wèn)數(shù)據(jù)庫(kù)的并發(fā)控制,然后介紹了在SQL Server和Oracle中并發(fā)控制的具體實(shí)現(xiàn)。
第19章介紹了嵌入式SQL的基本概念及其應(yīng)用,然后通過(guò)具體的實(shí)例詳細(xì)闡述了在C語(yǔ)言中嵌入SQL語(yǔ)句訪問(wèn)SQL Server和Oracle的過(guò)程。
本書(shū)具有知識(shí)全面、講解細(xì)膩、指導(dǎo)性強(qiáng)等特點(diǎn),力求以全面的知識(shí)及豐富的實(shí)例指導(dǎo)讀者掌握SQL編程的基礎(chǔ)知識(shí)。
作者簡(jiǎn)介
本書(shū)由張權(quán)和郭天嬌編寫(xiě),其中,張權(quán)編寫(xiě)了本書(shū)第1~10章,郭天嬌編寫(xiě)了第11~19章。
張權(quán),現(xiàn)為天津紅翔吉瑞網(wǎng)絡(luò)科技有限公司CEO,硅谷訪問(wèn)學(xué)者,國(guó)內(nèi)頂級(jí)數(shù)據(jù)庫(kù)專(zhuān)家,主研移動(dòng)終端與大數(shù)據(jù)交互;擁有多家上市公司移動(dòng)終端解決方案實(shí)施經(jīng)驗(yàn),曾為國(guó)內(nèi)外多家知名互聯(lián)網(wǎng)企業(yè)提供移動(dòng)終端技術(shù)咨詢(xún)服務(wù)。
郭天嬌,現(xiàn)就職于吉林工程技術(shù)師范學(xué)院,長(zhǎng)期從事計(jì)算機(jī)科學(xué)與技術(shù)及軟件工程專(zhuān)業(yè)的教學(xué)與科研工作。
本書(shū)主要讀者對(duì)象
本書(shū)結(jié)構(gòu)清晰、講解精煉,并輔以了大量實(shí)例,便于新手理解和學(xué)習(xí)SQL,另外本書(shū)也可以作為數(shù)據(jù)庫(kù)開(kāi)發(fā)人員的參考手冊(cè),適合PHP、Java、.NET等各類(lèi)程序員使用。
- CAE分析大系:ANSYS?Workbench結(jié)構(gòu)分析與實(shí)例詳解
- 現(xiàn)代C++軟件架構(gòu):方法與實(shí)踐
- 深度學(xué)習(xí)訓(xùn)練營(yíng) 21天實(shí)戰(zhàn)TensorFlow+Keras+scikit-learn
- Android游戲開(kāi)發(fā)大全
- ODPS權(quán)威指南 阿里大數(shù)據(jù)平臺(tái)應(yīng)用開(kāi)發(fā)實(shí)踐
- 鑄魂:軟件定義制造
- 解決方案架構(gòu)師修煉之道(原書(shū)第2版)
- 敏捷軟件開(kāi)發(fā):用戶(hù)故事實(shí)戰(zhàn)
- 軟件架構(gòu)的藝術(shù)
- 深入淺出數(shù)據(jù)結(jié)構(gòu)與算法(微課視頻版)
- 邊緣云部署與運(yùn)營(yíng):系統(tǒng)性實(shí)現(xiàn)方法
- MindSpore深度學(xué)習(xí)高階技術(shù)
- 構(gòu)建跨平臺(tái)APP:jQuery Mobile移動(dòng)應(yīng)用實(shí)戰(zhàn)(第2版) (跨平臺(tái)移動(dòng)開(kāi)發(fā)叢書(shū))
- 鋒利的jQuery
- 構(gòu)建移動(dòng)網(wǎng)站與APP:ionic移動(dòng)開(kāi)發(fā)入門(mén)與實(shí)戰(zhàn) (跨平臺(tái)移動(dòng)開(kāi)發(fā)叢書(shū))