MySQL是世界上受歡迎的數(shù)據(jù)庫(kù)管理系統(tǒng)之一。書(shū)中從介紹簡(jiǎn)單的數(shù)據(jù)檢索開(kāi)始,逐步深入一些復(fù)雜的內(nèi)容,包括聯(lián)結(jié)的使用、子查詢、正則表達(dá)式和基于全文本的搜索、存儲(chǔ)過(guò)程、游標(biāo)、觸發(fā)器、表約束,等等。通過(guò)重點(diǎn)突出的章節(jié),條理清晰、系統(tǒng)而扼要地講述了讀者應(yīng)該掌握的知識(shí),使他們不經(jīng)意間立刻功力大增。
《MySQL必知必會(huì)》注重實(shí)用性,操作性很強(qiáng),適用于廣大軟件開(kāi)發(fā)和數(shù)據(jù)庫(kù)管理人員學(xué)習(xí)參考。
《MySQL必知必會(huì)》是經(jīng)典暢銷書(shū)《SQL必知必會(huì)》之后,作者應(yīng)眾多讀者的請(qǐng)求編寫(xiě)的,專門針對(duì)MySQL用戶。書(shū)中繼承了《MySQL必知必會(huì)》的優(yōu)點(diǎn),沒(méi)有過(guò)多闡述數(shù)據(jù)庫(kù)基礎(chǔ)理論,而是緊貼實(shí)戰(zhàn)需要,直接從數(shù)據(jù)檢索開(kāi)始,逐步深入各種復(fù)雜的內(nèi)容,包括聯(lián)結(jié)的使用、子查詢、正則表達(dá)式和基于全文本的搜索、存儲(chǔ)過(guò)程、游標(biāo)、觸發(fā)器、表約束,等等。通過(guò)本書(shū),讀者能夠掌握扎實(shí)的基本功,迅速成為MySQL高手。
MySQL已經(jīng)成為世界上最受歡迎的數(shù)據(jù)庫(kù)管理系統(tǒng)之一。無(wú)論是用在小型開(kāi)發(fā)項(xiàng)目上,還是用來(lái)構(gòu)建那些聲名顯赫的網(wǎng)站,MySQL都證明了自己是個(gè)穩(wěn)定、可靠、快速、可信的系統(tǒng),足以勝任任何數(shù)據(jù)存儲(chǔ)業(yè)務(wù)的需要。本書(shū)基于我的一本暢銷書(shū)Sams Teach Yourself SQL in 10 Minutes(中文版《SQL必知必會(huì)》,人民郵電出版社出版),那本書(shū)堪稱全世界用得最多的一本SQL教程,重點(diǎn)講解讀者必須知道的東西,條理清晰,系統(tǒng)而扼要。但是,即使是那樣一本廣為使用的成功的書(shū),也還存在著以下這些局限性。由于要面向所有主要的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),我不得不把針對(duì)具體DBMS的內(nèi)容一再壓縮。為了簡(jiǎn)化SQL的講解,我必須(盡可能)只寫(xiě)各種主要的DBMS通用的SQL語(yǔ)句。這要求我不得不舍棄一些更好的、針對(duì)具體DBMS的解決方案。雖然基本的SQL在不同的DBMS間具有較好的可移植性,但是高級(jí)的SQL顯然不是這樣的。因此,那本書(shū)里無(wú)法詳細(xì)講解比較高級(jí)的內(nèi)容,如觸發(fā)器、游標(biāo)、存儲(chǔ)過(guò)程、訪問(wèn)控制、事務(wù)等。于是就有了這本書(shū)。本書(shū)沿用了前一本書(shū)業(yè)已成功的教程模式和組織結(jié)構(gòu),除了:MySQL以外,不在其他內(nèi)容上過(guò)多糾纏。
Ben Forta,世界知名的技術(shù)作家,也是Adobe技術(shù)界知名的專家之一,目前擔(dān)任Adobe公司的高級(jí)技術(shù)推廣專家。他具有計(jì)算機(jī)行業(yè)20多年工作經(jīng)驗(yàn),多年來(lái)撰寫(xiě)了十幾本技術(shù)圖書(shū),包括《正則表達(dá)式必知必會(huì)》、《SQL必知必會(huì)》(人民郵電出版社出版)等世界性的暢銷書(shū),已被翻譯為十幾種文字。
第1章 了解SQL
1.1 數(shù)據(jù)庫(kù)基礎(chǔ)
1.1.1 什么是數(shù)據(jù)庫(kù)
1.1.2 表
1.1.3 列和數(shù)據(jù)類型
1.1.4 行
1.1.5 主鍵
1.2 什么是SQL
1.3 動(dòng)手實(shí)踐
1.4 小結(jié)
第2章 MySQL簡(jiǎn)介
2.1 什么是MySQL
2.1.1 客戶機(jī)-服務(wù)器軟件
2.1.2 MySQL版本
2.2 MySQL工具
2.2.1 mysql命令行實(shí)用程序
2.2.2 MySQL Adminis-trator
2.2.3 MySQL Query Browser
2.3 小結(jié)
第3章 使用MySQL
3.1 連接
3.2 選擇數(shù)據(jù)庫(kù)
3.3 了解數(shù)據(jù)庫(kù)和表
3.4 小結(jié)
第4章 檢索數(shù)據(jù)
4.1 SELECT語(yǔ)句
4.2 檢索單個(gè)列
4.3 檢索多個(gè)列
4.4 檢索所有列
4.5 檢索不同的行
4.6 限制結(jié)果
4.7 使用完全限定的表名
4.8 小結(jié)
第5章 排序檢索數(shù)據(jù)
5.1 排序數(shù)據(jù)
5.2 按多個(gè)列排序
5.3 指定排序方向
5.4 小結(jié)
第6章 過(guò)濾數(shù)據(jù)
6.1 使用WHERE子句
6.2 WHERE子句操作符
6.2.1 檢查單個(gè)值
6.2.2 不匹配檢查
6.2.3 范圍值檢查
6.2.4 空值檢查
6.3 小結(jié)
第7章 數(shù)據(jù)過(guò)濾
7.1 組合WHERE子句
7.1.1 AND操作符
7.1.2 OR操作符
7.1.3 計(jì)算次序
7.2 IN操作符
7.3 NOT操作符
7.4 小結(jié)
第8章 用通配符進(jìn)行過(guò)濾
8.1 LIKE操作符
8.1.1 百分號(hào)(%)通配符
8.1.2 下劃線(_)通配符
8.2 使用通配符的技巧
8.3 小結(jié)
第9章 用正則表達(dá)式進(jìn)行搜索
9.1 正則表達(dá)式介紹
9.2 使用MySQL正則表達(dá)式
9.2.1 基本字符匹配
9.2.2 進(jìn)行OR匹配
9.2.3 匹配幾個(gè)字符之一
9.2.4 匹配范圍
9.2.5 匹配特殊字符
9.2.6 匹配字符類
9.2.7 匹配多個(gè)實(shí)例
9.2.8 定位符
9.3 小結(jié)
第10章 創(chuàng)建計(jì)算字段
10.1 計(jì)算字段
10.2 拼接字段
10.3 執(zhí)行算術(shù)計(jì)算
10.4 小結(jié)
第11章 使用數(shù)據(jù)處理函數(shù)
11.1 函數(shù)
11.2 使用函數(shù)
11.2.1 文本處理函數(shù)
11.2.2 日期和時(shí)間處理函數(shù)
11.2.3 數(shù)值處理函數(shù)
11.3 小結(jié)
第12章 匯總數(shù)據(jù)
12.1 聚集函數(shù)
12.1.1 AVG()函數(shù)
12.1.2 COUNT()函數(shù)
12.1.3 MAX()函數(shù)
12.1.4 MIN()函數(shù)
12.1.5 SUM()函數(shù)
12.2 聚集不同值
12.3 組合聚集函數(shù)
12.4 小結(jié)
第13章 分組數(shù)據(jù)
13.1 數(shù)據(jù)分組
13.2 創(chuàng)建分組
13.3 過(guò)濾分組
13.4 分組和排序
13.5 SELECT子句順序
13.6 小結(jié)
第14章 使用子查詢
14.1 子查詢
14.2 利用子查詢進(jìn)行過(guò)濾
14.3 作為計(jì)算字段使用子查詢
14.4 小結(jié)
第15章 聯(lián)結(jié)表
15.1 聯(lián)結(jié)
15.1.1 關(guān)系表
15.1.2 為什么要使用聯(lián)結(jié)
15.2 創(chuàng)建聯(lián)結(jié)
15.2.1 WHERE子句的重要性
15.2.2 內(nèi)部聯(lián)結(jié)
15.2.3 聯(lián)結(jié)多個(gè)表
15.3 小結(jié)
第16章 創(chuàng)建高級(jí)聯(lián)結(jié)
16.1 使用表別名
16.2 使用不同類型的聯(lián)結(jié)
16.2.1 自聯(lián)結(jié)
16.2.2 自然聯(lián)結(jié)
16.2.3 外部聯(lián)結(jié)
16.3 使用帶聚集函數(shù)的聯(lián)結(jié)
16.4 使用聯(lián)結(jié)和聯(lián)結(jié)條件
16.5 小結(jié)
第17章 組合查詢
17.1 組合查詢
17.2 創(chuàng)建組合查詢
17.2.1 使用UNION
17.2.2 UNION規(guī)則
17.2.3 包含或取消重復(fù)的行
17.2.4 對(duì)組合查詢結(jié)果排序
17.3 小結(jié)
第18章 全文本搜索
18.1 理解全文本搜索
18.2 使用全文本搜索
18.2.1 啟用全文本搜索支持
18.2.2 進(jìn)行全文本搜索
18.2.3 使用查詢擴(kuò)展
18.2.4 布爾文本搜索
18.2.5 全文本搜索的使用說(shuō)明
18.3 小結(jié)
第19章 插入數(shù)據(jù)
19.1 數(shù)據(jù)插入
19.2 插入完整的行
19.3 插入多個(gè)行
19.4 插入檢索出的數(shù)據(jù)
19.5 小結(jié)
第20章 更新和刪除數(shù)據(jù)
20.1 更新數(shù)據(jù)
20.2 刪除數(shù)據(jù)
20.3 更新和刪除的指導(dǎo)原則
20.4 小結(jié)
第21章 創(chuàng)建和操縱表
21.1 創(chuàng)建表
21.1.1 表創(chuàng)建基礎(chǔ)
21.1.2 使用NULL值
21.1.3 主鍵再介紹
21.1.4 使用AUTO_ INCREMENT
21.1.5 指定默認(rèn)值
21.1.6 引擎類型
21.2 更新表
21.3 刪除表
21.4 重命名表
21.5 小結(jié)
第22章 使用視圖
22.1 視圖
22.1.1 為什么使用視圖
22.1.2 視圖的規(guī)則和限制
22.2 使用視圖
22.2.1 利用視圖簡(jiǎn)化復(fù)雜的聯(lián)結(jié)
22.2.2 用視圖重新格式化檢索出的數(shù)據(jù)
22.2.3 用視圖過(guò)濾不想要的數(shù)據(jù)
22.2.4 使用視圖與計(jì)算字段
22.2.5 更新視圖
22.3 小結(jié)
第23章 使用存儲(chǔ)過(guò)程
23.1 存儲(chǔ)過(guò)程
23.2 為什么要使用存儲(chǔ)過(guò)程
23.3 使用存儲(chǔ)過(guò)程
23.3.1 執(zhí)行存儲(chǔ)過(guò)程
23.3.2 創(chuàng)建存儲(chǔ)過(guò)程
23.3.3 刪除存儲(chǔ)過(guò)程
23.3.4 使用參數(shù)
23.3.5 建立智能存儲(chǔ)過(guò)程
23.3.6 檢查存儲(chǔ)過(guò)程
23.4 小結(jié)
第24章 使用游標(biāo)
24.1 游標(biāo)
24.2 使用游標(biāo)
24.2.1 創(chuàng)建游標(biāo)
24.2.2 打開(kāi)和關(guān)閉游標(biāo)
24.2.3 使用游標(biāo)數(shù)據(jù)
24.3 小結(jié)
第25章 使用觸發(fā)器
25.1 觸發(fā)器
25.2 創(chuàng)建觸發(fā)器
25.3 刪除觸發(fā)器
25.4 使用觸發(fā)器
25.4.1 INSERT觸發(fā)器
25.4.2 DELETE觸發(fā)器
25.4.3 UPDATE觸發(fā)器
25.4.4 關(guān)于觸發(fā)器的進(jìn)一步介紹
25.5 小結(jié)
第26章 管理事務(wù)處理
26.1 事務(wù)處理
26.2 控制事務(wù)處理
26.2.1 使用ROLLBACK
26.2.2 使用COMMIT
26.2.3 使用保留點(diǎn)
26.2.4 更改默認(rèn)的提交行為
26.3 小結(jié)
第27章 全球化和本地化
27.1 字符集和校對(duì)順序
27.2 使用字符集和校對(duì)順序
27.3 小結(jié)
第28章 安全管理
28.1 訪問(wèn)控制
28.2 管理用戶
28.2.1 創(chuàng)建用戶賬號(hào)
28.2.2 刪除用戶賬號(hào)
28.2.3 設(shè)置訪問(wèn)權(quán)限
28.2.4 更改口令
28.3 小結(jié)
第29章 數(shù)據(jù)庫(kù)維護(hù)
29.1 備份數(shù)據(jù)
29.2 進(jìn)行數(shù)據(jù)庫(kù)維護(hù)
29.3 診斷啟動(dòng)問(wèn)題
29.4 查看日志文件
29.5 小結(jié)
第30章 改善性能
30.1 改善性能
30.2 小結(jié)
附錄A MySQL入門
附錄B 樣例表
附錄C MySQL語(yǔ)句的語(yǔ)法
附錄D MySQL數(shù)據(jù)類型
附錄E MySQL保留字
索引