本書較全面地介紹了MySQL數(shù)據(jù)庫的基礎知識及其應用。本書共11章,包括數(shù)據(jù)庫基礎,MySQL的安裝與配置,數(shù)據(jù)庫的基本操作,數(shù)據(jù)表的基本操作,表數(shù)據(jù)的增、改、刪操作,數(shù)據(jù)查詢,視圖,索引,存儲過程與觸發(fā)器,事務,數(shù)據(jù)安全等內(nèi)容。本書采用案例教學方式,每章以應用實例的方式闡述知識要點,再通過實訓項目分析綜合應用,最后輔以思考與練習鞏固所學知識。應用實例、實訓項目、思考與練習這3個部分分別采用3個不同的數(shù)據(jù)庫項目貫穿始末。
本書既可作為計算機相關專業(yè)和非計算機專業(yè)數(shù)據(jù)庫基礎或數(shù)據(jù)庫開發(fā)課程的教材,也可作為計算機軟件開發(fā)人員、從事數(shù)據(jù)庫管理與維護工作的專業(yè)人員、廣大計算機愛好者的自學用書。
1.語言精練、易懂
對數(shù)據(jù)庫中的基本概念和技術進行了清楚準確的解釋并結合實例加以說明,讓讀者能較輕松地掌握每個知識點。
2.任務驅動,項目開發(fā)與理論教學緊密結合
本書采用3個數(shù)據(jù)庫項目貫穿始末,在每章的知識點講解、應用舉例中采用的是圖書館管理系統(tǒng),實訓項目采用的是教務管理系統(tǒng),思考與練習采用的是公司員工管理系統(tǒng),項目內(nèi)容貼近實際生活,有很強的實用性。
3.內(nèi)容組織合理有效。
本書按照由淺入深的順序,循序漸進地介紹了數(shù)據(jù)庫應用、管理以及程序設計的相關知識和技能。各個章節(jié)的編寫以實踐應用為目標,理論的闡述主要圍繞實際應用技術組織和展開,練習不再附屬于相關理論知識。
汪曉青,女,碩士,工程師講師。畢業(yè)于武漢科技大學,現(xiàn)任職于武漢軟件工程職業(yè)學院信息學院軟件技術專業(yè)。先后獲得校優(yōu)秀青年教師、優(yōu)秀中青年骨干教師等榮譽稱號。主編或參編教材8本,主持或參與科研項目12項,發(fā)表學術論文20余篇。
第 1章 數(shù)據(jù)庫基礎 1
1.1 數(shù)據(jù)庫概述 2
1.1.1 數(shù)據(jù)管理技術的發(fā)展 2
1.1.2 數(shù)據(jù)庫系統(tǒng)的組成 3
1.1.3 結構化查詢語言 3
1.2 數(shù)據(jù)模型 4
1.2.1 數(shù)據(jù)模型的概念 4
1.2.2 常見的數(shù)據(jù)模型 5
1.2.3 實體與關系 7
1.3 數(shù)據(jù)庫的規(guī)范化 8
本章小結 11
實訓項目 11
思考與練習 12
第 2章 MySQL的安裝與配置 13
2.1 下載和安裝MySQL 14
2.1.1 MySQL服務器的下載 14
2.1.2 MySQL服務器的安裝 16
2.2 MySQL的常用操作 23
2.3 MySQL圖形化管理工具 24
本章小結 27
實訓項目 27
思考與練習 28
第3章 數(shù)據(jù)庫的基本操作 29
3.1 創(chuàng)建數(shù)據(jù)庫 30
3.2 查看數(shù)據(jù)庫 31
3.3 選擇數(shù)據(jù)庫 31
3.4 刪除數(shù)據(jù)庫 32
3.5 數(shù)據(jù)庫存儲引擎 32
3.5.1 MySQL存儲引擎 32
3.5.2 InnoDB存儲引擎 33
3.5.3 MyISAM存儲引擎 34
3.5.4 MEMORY存儲引擎 35
3.5.5 存儲引擎的選擇 35
本章小結 36
實訓項目 36
思考與練習 37
第4章 數(shù)據(jù)表的基本操作 38
4.1 數(shù)據(jù)類型 39
4.1.1 數(shù)字 39
4.1.2 日期和時間 39
4.1.3 字符串 40
4.2 創(chuàng)建數(shù)據(jù)表 41
4.3 查看表結構 43
4.3.1 查看表基本結構語句 43
4.3.2 查看表詳細結構語句 44
4.4 修改數(shù)據(jù)表 44
4.4.1 修改表名 44
4.4.2 修改字段的數(shù)據(jù)類型 45
4.4.3 修改字段名 46
4.4.4 添加字段 46
4.4.5 刪除字段 47
4.4.6 修改字段的排列位置 47
4.5 數(shù)據(jù)完整性約束 49
4.5.1 主鍵約束 49
4.5.2 唯一約束 50
4.5.3 非空約束 51
4.5.4 默認約束 51
4.5.5 字段值自動增加 52
4.5.6 外鍵約束 53
本章小結 54
實訓項目 54
思考與練習 56
第5章 表數(shù)據(jù)的增、改、刪操作 58
5.1 插入數(shù)據(jù) 59
5.1.1 插入完整數(shù)據(jù) 59
5.1.2 插入數(shù)據(jù)記錄的一部分 61
5.1.3 插入多條記錄 62
5.2 修改數(shù)據(jù) 63
5.3 刪除數(shù)據(jù) 64
5.3.1 通過DELETE語句刪除數(shù)據(jù) 64
5.3.2 通過TRUNCATE TABLE語句刪除數(shù)據(jù) 65
本章小結 66
實訓項目 66
思考與練習 68
第6章 數(shù)據(jù)查詢 69
6.1 基本查詢語句 70
6.2 單表查詢 70
6.2.1 簡單數(shù)據(jù)記錄查詢 70
6.2.2 去除重復查詢結果——DISTINCT 73
6.2.3 限制查詢結果數(shù)量——LIMIT 74
6.2.4 條件數(shù)據(jù)查詢 75
6.2.5 ORDER BY對查詢結果排序 80
6.3 使用統(tǒng)計函數(shù)查詢 83
6.3.1 COUNT()函數(shù) 84
6.3.2 SUM()函數(shù) 84
6.3.3 AVG()函數(shù) 85
6.3.4 MAX()和MIN()函數(shù) 85
6.4 分組數(shù)據(jù)查詢 86
6.4.1 單字段分組查詢 86
6.4.2 多字段分組查詢 88
6.4.3 HAVING子句限定分組查詢 89
6.5 連接查詢 90
6.5.1 內(nèi)連接查詢 90
6.5.2 外連接查詢 93
6.6 子查詢 95
6.6.1 帶IN關鍵字的子查詢 95
6.6.2 帶EXISTS關鍵字的子查詢 96
6.6.3 帶ANY關鍵字的子查詢 98
6.6.4 帶ALL關鍵字的子查詢 99
6.6.5 帶比較運算符的子查詢 99
6.7 合并查詢結果 100
本章小結 102
實訓項目 102
思考與練習 106
第7章 視圖 107
7.1 視圖概述 108
7.2 視圖的創(chuàng)建 108
7.3 視圖操作 111
7.3.1 查看視圖 111
7.3.2 修改視圖 113
7.3.3 更新視圖 115
7.3.4 刪除視圖 117
本章小結 118
實訓項目 118
思考與練習 120
第8章 索引 122
8.1 索引概述 123
8.1.1 索引的含義和特點 123
8.1.2 索引的分類 123
8.1.3 索引的設計原則 124
8.2 創(chuàng)建索引 124
8.2.1 創(chuàng)建表時創(chuàng)建索引 124
8.2.2 在已經(jīng)存在的表上創(chuàng)建索引 127
8.3 刪除索引 129
本章小結 130
實訓項目 130
思考與練習 132
第9章 存儲過程和觸發(fā)器 133
9.1 SQL編程基礎 134
9.1.1 SQL基礎 134
9.1.2 系統(tǒng)內(nèi)置函數(shù) 142
9.2 存儲過程和函數(shù) 144
9.2.1 創(chuàng)建和調(diào)用存儲過程 145
9.2.2 創(chuàng)建和調(diào)用存儲函數(shù) 149
9.2.3 查看存儲過程和函數(shù) 151
9.2.4 修改存儲過程和函數(shù) 153
9.2.5 刪除存儲過程和函數(shù) 153
9.3 設置觸發(fā)器 154
9.3.1 創(chuàng)建觸發(fā)器 154
9.3.2 查看觸發(fā)器 159
9.3.3 刪除觸發(fā)器 160
本章小結 160
實訓項目 160
思考與練習 163
第 10章 事務 164
10.1 MySQL事務概述 165
10.2 MySQL事務的創(chuàng)建與存在周期 165
10.2.1 初始化事務 166
10.2.2 創(chuàng)建事務 166
10.2.3 提交事務 167
10.2.4 撤銷事務 167
10.2.5 事務的存在周期 168
10.3 MySQL事務行為 169
10.3.1 自動提交 169
10.3.2 事務的孤立級 170
10.3.3 修改事務的孤立級 171
10.4 事務的性能 171
10.4.1 應用小事務 171
10.4.2 選擇合適的孤立級 171
10.4.3 死鎖的概念與避免 172
本章小結 172
實訓項目 172
思考與練習 174
第 11章 數(shù)據(jù)安全 175
11.1 添加和刪除用戶 176
11.1.1 使用CREATE USER語句創(chuàng)建新用戶 176
11.1.2 使用GRANT語句創(chuàng)建新用戶 177
11.1.3 使用INSERT語句創(chuàng)建新用戶 177
11.1.4 使用DROP USER語句刪除用戶 179
11.1.5 使用DELETE語句刪除用戶 179
11.2 授予權限與回收權限 180
11.2.1 MySQL的各種權限 180
11.2.2 授予權限 181
11.2.3 收回權限 182
11.2.4 查看權限 183
11.3 備份與還原 184
11.3.1 使用mysqldump命令備份數(shù)據(jù) 184
11.3.2 使用mysql命令還原數(shù)據(jù) 186
11.4 MySQL日志 187
11.4.1 配置錯誤日志 187
11.4.2 查看錯誤日志 188
11.4.3 備份錯誤日志 189
本章小結 190
實訓項目 190
思考與練習 192