具體描述
編輯推薦
1. 教材厚度適閤高校中的學時要求。
2. 講解方式符閤教學:采用普通高等院校傳統教學模式,采用基礎知識講解、經典案例分析、綜閤案例應用的寫法。
3. 慕課的形式深受老師歡迎。
4. 配套資源比一般教科書豐富,包括教學視頻、自測題庫、案例代碼、PPT課件、習題答案、拓展案例等。 內容簡介
本書係統全麵地介紹瞭有關MySQL數據庫應用開發所涉及的各類知識。全書共分13章,內容包括數據庫設計概述、MySQL概述、MySQL數據庫管理、MySQL錶結構管理、錶記錄的更新操作、錶記錄的檢索、視圖、觸發器、存儲過程與存儲函數、備份與恢復、MySQL性能優化、事務與鎖機製、綜閤開發案例——圖書館管理係統。本書最後還附有12個實驗。全書每章內容都與實例緊密結閤,有助於學生理解知識、應用知識,實現學以緻用的目的。
本書為慕課版教材,各章節主要內容配備瞭以二維碼為載體的微課,並在人郵學院(www.rymooc.com)平颱上提供瞭慕課。此外,本書還提供瞭課程資源包。資源包中提供瞭本書所有實例、上機指導、綜閤案例的源代碼、製作精良的電子課件PPT、重點及難點教學視頻、自測題庫(包括選擇題、填空題、操作題題庫及自測試捲等內容),以及拓展綜閤案例和拓展實驗。其中,源代碼全部經過精心測試,能夠在Windows XP、Windows 7係統下編譯和運行。 目錄
第1章 數據庫設計概述 1
1.1 數據庫概述 2
1.1.1 數據庫與數據庫管理係統 2
1.1.2 數據模型 3
1.1.3 結構化查詢語言SQL 3
1.2 數據庫的體係結構 3
1.2.1 數據庫三級模式結構 3
1.2.2 三級模式之間的映射 4
1.3 E-R圖 4
1.3.1 實體和屬性 4
實例:設計圖書館管理係統的圖書實體圖
1.3.2 關係 5
1.3.3 E-R圖的設計原則 5
實例:設計圖書館管理係統的E-R圖
1.4 數據庫設計 6
1.4.1 為實體建立數據錶 6
實例:根據圖書實體建立圖書數據錶
1.4.2 為錶建立主鍵或外鍵 7
1.4.3 為字段選擇閤適的數據類型 7
1.4.4 定義約束條件 8
小結 8
習題 8
第2章 MySQL概述 9
2.1 為什麼選擇MySQL數據庫 10
2.1.1 什麼是MySQL數據庫 10
2.1.2 MySQL的優勢 10
2.1.3 MySQL的發展史 10
2.2 MySQL特性 10
2.3 MySQL服務器的安裝與配置 11
2.3.1 下載MySQL 11
2.3.2 MySQL環境的安裝 13
2.3.3 啓動、連接、斷開和停止MySQL服務器 20
小結 23
上機指導 24
習題 25
第3章 MySQL數據庫管理 26
3.1 創建數據庫 27
3.1.1 通過CREATE DATABASE語句創建數據庫 27
實例:創建圖書館管理係統數據庫
3.1.2 通過CREATE SCHEMA語句創建數據庫 27
實例:通過CREATE SCHEMA語句創建名稱為db_library1的數據庫
3.1.3 創建指定字符集的數據庫 28
實例:創建使用GBK字符集的數據庫
3.1.4 創建數據庫前判斷是否存在同名數據庫 28
實例:創建圖書館管理係統數據庫前判斷是否存在同名數據庫
3.2 查看數據庫 29
實例:查看服務器中的所有數據庫
3.3 選擇數據庫 29
實例:設置默認的數據庫
3.4 修改數據庫 30
實例:修改數據庫使用的字符集
3.5 刪除數據庫 31
實例:刪除3.1.4節創建的數據庫
3.6 數據庫存儲引擎的應用 31
3.6.1 查詢MySQL中支持的存儲引擎 31
實例:查詢默認的存儲引擎
3.6.2 InnoDB存儲引擎 33
3.6.3 MyISAM存儲引擎 34
3.6.4 MEMORY存儲引擎 34
3.6.5 如何選擇存儲引擎 35
小結 36
上機指導 36
習題 37
第4章 MySQL錶結構管理 38
4.1 MySQL數據類型 39
4.1.1 數字類型 39
4.1.2 字符串類型 40
4.1.3 日期和時間數據類型 41
4.2 創建錶 41
實例:創建圖書館管理係統的圖書信息錶
4.2.1 設置默認的存儲引擎 43
實例:為圖書類型錶設置使用MyISAM存儲引擎
4.2.2 設置自增類型字段 44
實例:為圖書類型錶設置自動編號
4.2.3 設置字符集 45
4.2.4 復製錶結構 45
實例:為圖書信息錶建立副本
4.3 修改錶結構 48
4.3.1 修改字段 48
實例:在圖書信息錶的副本中添加一個新的字段
4.3.2 修改約束條件 49
4.3.3 修改錶的其他選項 50
4.3.4 修改錶名 50
實例:修改圖書信息錶的副本為tb_books
4.4 刪除錶 51
實例:刪除圖書信息錶的副本
4.5 設置索引 51
4.5.1 索引概述 51
4.5.2 創建索引 52
實例:創建考生成績錶並設置索引
實例:為圖書信息錶的書名字段設置索引
4.5.3 刪除索引 55
實例:刪除圖書信息錶的書名字段的索引
4.6 定義約束 56
4.6.1 定義主鍵約束 56
實例:創建圖書館管理係統的管理員信息錶並將id字段設置為主鍵約束
實例:創建學生信息錶並將學號和班級號設置為主鍵約束
4.6.2 定義候選鍵約束 57
實例:將圖書信息錶的書名字段設置為候選鍵約束
4.6.3 定義非空約束 58
實例:創建圖書館管理係統的管理員信息錶,並為其設置非空約束
4.6.4 定義CHECK約束 58
實例:創建學生信息錶,限製其age字段的值隻能是7~18(不包括18)的數
實例:創建圖書信息錶,限製其typeid字段的值隻能是類彆錶的id字段的值
小結 60
上機指導 60
習題 61
第5章 錶記錄的更新操作 62
5.1 插入錶記錄 63
5.1.1 使用INSERT…VALUES語句插入新記錄 63
實例:嚮圖書館管理係統的管理員信息錶中插入一條新記錄
實例:嚮管理員信息錶中插入記錄的一部分
5.1.2 插入多條記錄 65
實例:嚮管理員信息錶中批量插入3條新記錄
5.1.3 使用INSERT…SELECT語句插入結果集 66
實例:從圖書館管理係統的藉閱錶中獲取部分藉閱信息插入到歸還錶中
5.1.4 使用REPLACE語句插入新記錄 68
5.2 修改錶記錄 69
實例:將圖書館管理係統的藉閱錶中的是否歸還字段值設置為1
5.3 刪除錶記錄 70
5.3.1 使用DELETE語句刪除錶記錄 70
實例:將圖書館管理係統的管理員信息錶中的名稱為admin的管理員刪除
5.3.2 使用TRUNCATE語句清空錶記錄 71
實例:清空圖書館管理係統的管理員信息錶
小結 71
上機指導 72
習題 72
第6章 錶記錄的檢索 73
6.1 基本查詢語句 74
6.2 單錶查詢 75
6.2.1 查詢所有字段 76
實例:查詢圖書館管理係統的圖書信息錶的全部數據
6.2.2 查詢指定字段 76
實例:從圖書館管理係統的圖書信息錶中查詢圖書的名稱和作者
6.2.3 查詢指定數據 76
實例:從圖書館管理係統的管理錶中查詢名稱為mr的管理員
6.2.4 帶IN關鍵字的查詢 77
實例:從圖書館管理係統的圖書錶中查詢位於左A-1或右A-1的圖書信息
6.2.5 帶BETWEEN AND的範圍查詢 78
實例:從圖書館管理係統的藉閱錶中查詢指定時間段內的藉閱信息
6.2.6 帶LIKE的字符匹配查詢 78
實例:對圖書館管理係統的圖書信息進行模糊查詢
6.2.7 用IS NULL關鍵字查詢空值 79
實例:查詢圖書館管理係統的讀者類型錶中name字段為空的記錄
6.2.8 帶AND的多條件查詢 79
實例:判斷輸入的管理員賬號和密碼是否存在
6.2.9 帶OR的多條件查詢 80
實例:查詢圖書館管理係統的管理員錶中名稱為mr或者mingrisoft的記錄
6.2.10 用DISTINCT關鍵字去除結果中的重復行 80
實例:從圖書館管理係統的讀者信息錶中獲取職業
6.2.11 用ORDER BY關鍵字對查詢結果排序 81
實例:對圖書藉閱信息進行排序
6.2.12 用GROUP BY關鍵字分組查詢 81
實例:分組統計每本圖書的藉閱次數(3例)
6.2.13 用LIMIT限製查詢結果的數量 83
實例:查詢最後被藉閱的3本圖書
實例:查詢從編號2開始的3條記錄
6.3 聚閤函數查詢 83
6.3.1 COUNT()函數 83
實例:統計圖書館管理係統中的讀者人數
6.3.2 SUM()函數 84
實例:統計商品的銷售金額
6.3.3 AVG()函數 84
實例:計算學生的平均成績
6.3.4 MAX()函數 85
實例:計算學生錶中的最高成績
6.3.5 MIN()函數 86
實例:計算學生錶中的最低成績
6.4 連接查詢 86
6.4.1 內連接查詢 86
實例:使用內連接查詢齣圖書的藉閱信息
6.4.2 外連接查詢 88
實例:使用左外連接獲取圖書的最多藉閱天數
實例:使用右外連接獲取圖書的最多藉閱天數
6.4.3 復閤條件連接查詢 89
實例:查詢齣未歸還的圖書藉閱信息
6.5 子查詢 90
6.5.1 帶IN關鍵字的子查詢 90
實例:查詢被藉閱過的圖書信息
6.5.2 帶比較運算符的子查詢 91
實例:查詢考試成績為優秀的學生信息
6.5.3 帶EXISTS關鍵字的子查詢 92
實例:查詢已經被藉閱的圖書信息
6.5.4 帶ANY關鍵字的子查詢 93
實例:查詢比一年三班最低分高的全部學生信息
6.5.5 帶ALL關鍵字的子查詢 94
實例:查詢比一年三班最高分高的全部學生信息
6.6 閤並查詢結果 95
實例:將圖書信息錶1和圖書信息錶2閤並(2例)
6.7 定義錶和字段的彆名 96
6.7.1 為錶取彆名 96
實例:使用左連接查詢齣圖書的完整信息,並為錶指定彆名
6.7.2 為字段取彆名 96
實例:統計每本圖書的藉閱次數,並取彆名為degree
6.8 使用正則錶達式查詢 97
6.8.1 匹配指定字符中的任意一個 98
實例:在圖書館管理係統中查詢包括字母k、r或s的管理員信息
6.8.2 使用“*”和“+”來匹配多個字符 99
實例:在圖書館管理係統中查詢E-mail地址不正確的讀者信息
小結 100
上機指導 100
習題 101
第7章 視圖 102
7.1 視圖概述 103
7.1.1 視圖的概念 103
7.1.2 視圖的作用 103
7.2 創建視圖 104
7.2.1 查看創建視圖的權限 104
實例:查看用戶是否具有創建視圖的權限
7.2.2 創建視圖 104
實例:創建保存完整圖書信息的視圖
7.2.3 創建視圖的注意事項 106
7.3 視圖操作 106
7.3.1 查看視圖 106
實例:查看圖書視圖的結構
實例:查看圖書視圖的詳細定義
7.3.2 修改視圖 108
實例:修改圖書視圖的結構
實例:使用ALTER語句修改圖書視圖的結構
7.3.3 更新視圖 110
實例:更新圖書視圖中的數據
7.3.4 刪除視圖 112
實例:刪除已經創建的圖書視圖
小結 113
上機指導 113
習題 114
第8章 觸發器 115
8.1 MySQL觸發器 116
8.1.1 創建MySQL觸發器 116
實例:保存圖書信息時,自動嚮日誌錶添加一條數據
8.1.2 創建具有多個執行語句的觸發器 117
實例:刪除圖書信息時,分彆嚮日誌錶和臨時錶中各添加一條數據
8.2 查看觸發器 119
8.2.1 SHOW TRIGGERS 119
8.2.2 查看triggers錶中的觸發器信息 120
8.3 使用觸發器 120
8.3.1 觸發器的執行順序 121
實例:觸發器與錶操作的執行順序
8.3.2 使用觸發器維護冗餘數據 122
實例:使用觸發器維護庫存數量
8.4 刪除觸發器 123
實例:刪除指定名稱的觸發器
小結 124
上機指導 124
習題 125
第9章 存儲過程與存儲函數 126
9.1 創建存儲過程與存儲函數 127
9.1.1 創建存儲過程 127
實例:創建一個統計指定圖書藉閱次數的存儲過程
9.1.2 創建存儲函數 129
實例:創建一個統計圖書藉閱次數的存儲函數
9.1.3 變量的應用 130
實例:演示局部變量的有效範圍
實例:會話(全局)變量的舉例
9.1.4 光標的運用 133
9.2 存儲過程和存儲函數的調用 134
9.2.1 調用存儲過程 134
實例:調用統計圖書藉閱次數的存儲過程
9.2.2 調用存儲函數 135
實例:調用統計圖書藉閱次數的存儲函數
9.3 查看存儲過程和函數 136
9.3.1 SHOW STATUS語句 136
9.3.2 SHOW CREATE語句 136
實例:查詢指定名稱的存儲過程
9.4 修改存儲過程和函數 137
實例:修改存儲過程
9.5 刪除存儲過程和函數 138
實例:刪除統計圖書藉閱次數的存儲過程
實例:刪除統計圖書藉閱次數的存儲函數
小結 138
上機指導 139
習題 140
第10章 備份與恢復 141
10.1 數據備份 142
10.1.1 使用mysqldump命令備份 142
實例:備份圖書館管理係統的數據庫
實例:備份db_library和db_library_gbk數據庫
實例:備份所有數據庫
10.1.2 直接復製整個數據庫目錄 145
10.1.3 使用mysqlhotcopy工具快速備份 145
10.2 數據恢復 146
10.2.1 使用mysql命令還原 146
實例:還原已經備份的圖書館管理係統的數據庫
10.2.2 直接復製到數據庫目錄 147
10.3 數據庫遷移 147
10.3.1 MySQL數據庫之間的遷移 147
10.3.2 不同數據庫之間的遷移 148
10.4 錶的導齣和導入 148
10.4.1 用SELECT…INTO OUTFILE導齣文本文件 148
實例:使用SELECT…INTO OUTFILE導齣圖書館管理係統的圖書錶的記錄
10.4.2 用mysqldump命令導齣文本文件 150
實例:使用mysqldump命令導齣圖書館管理係統的圖書錶的記錄
10.4.3 用mysql命令導齣文本文件 152
實例:使用mysql命令導齣圖書館管理係統的圖書錶的記錄
小結 153
上機指導 153
習題 155
第11章 MySQL性能優化 156
11.1 優化概述 157
11.1.1 分析MySQL數據庫的性能 157
11.1.2 通過profile工具分析語句消耗的性能 157
11.2 優化查詢 158
11.2.1 分析查詢語句 159
實例:使用EXPLAIN語句分析一個查詢語句
11.2.2 索引對查詢速度的影響 160
實例:舉例分析索引對查詢速度的影響
11.2.3 使用索引查詢 161
實例:舉例分析應用LIKE關鍵字優化索引查詢
實例:通過EXPLAIN分析使用OR關鍵字的查詢
11.3 優化數據庫結構 162
11.3.1 將字段很多的錶分解成多個錶 163
實例:將學生錶分解為學生錶和備注錶
11.3.2 增加中間錶 163
實例:創建包含學生錶常用信息錶中間錶
11.3.3 優化插入記錄的速度 164
11.3.4 分析錶、檢查錶和優化錶 165
11.4 優化多錶查詢 166
實例:演示優化多錶查詢
11.5 優化錶設計 167
小結 168
上機指導 168
習題 169
第12章 事務與鎖機製 170
12.1 事務機製 171
12.1.1 事務的概念 171
12.1.2 事務機製的必要性 171
實例:模擬銀行轉賬驗證事務的必要性
12.1.3 關閉MySQL自動提交 173
12.1.4 事務迴滾 174
實例:演示事務迴滾
12.1.5 事務提交 175
12.1.6 MySQL中的事務 176
實例:實現齣錯時迴滾否則提交事務
12.1.7 迴退點 178
實例:應用迴退點實現部分撤銷
12.2 鎖機製 179
12.2.1 MySQL鎖機製的基本知識 180
12.2.2 MyISAM錶的錶級鎖 181
實例:以讀方式鎖定用戶數據錶
實例:以寫方式鎖定用戶錶
12.2.3 InnoDB錶的行級鎖 184
實例:通過事務實現延長行級鎖的生命周期
12.2.4 死鎖的概念與避免 186
12.3 事務的隔離級彆 186
12.3.1 事務的隔離級彆與並發問題 186
12.3.2 設置事務的隔離級彆 187
小結 187
上機指導 188
習題 190
第13章 綜閤開發案例——圖書館管理係統 191
13.1 開發背景 192
13.2 係統分析 192
13.2.1 需求分析 192
13.2.2 可行性研究 192
13.3 JSP預備知識 193
13.3.1 JSP概述 193
13.3.2 JSP的開發及運行環境 194
13.3.3 JSP頁麵的基本構成 195
13.4 係統設計 195
13.4.1 係統目標 195
13.4.2 係統功能結構 196
13.4.3 係統流程圖 196
13.4.4 開發環境 197
13.4.5 文件夾組織結構 197
13.5 係統預覽 197
13.6 數據庫設計 199
13.6.1 實體圖設計 199
13.6.2 E-R圖設計 201
13.6.3 數據庫邏輯結構設計 201
13.7 公共模塊設計 204
13.7.1 數據庫連接及操作類的編寫 205
13.7.2 字符串處理類的編寫 207
13.7.3 配置解決中文亂碼的過濾器 207
13.8 主界麵設計 208
13.8.1 主界麵概述 208
13.8.2 主界麵的實現過程 209
13.9 管理員模塊設計 210
13.9.1 管理員模塊概述 210
13.9.2 編寫管理員模塊的實體類和Servlet控製類 210
13.9.3 係統登錄的實現過程 212
13.9.4 查看管理員的實現過程 215
13.9.5 添加管理員的實現過程 218
13.9.6 設置管理員權限的實現過程 221
13.9.7 刪除管理員的實現過程 224
13.10 圖書藉還模塊設計 225
13.10.1 圖書藉還模塊概述 225
13.10.2 編寫圖書藉還模塊的實體類和Servlet控製類 226
13.10.3 圖書藉閱的實現過程 227
13.10.4 圖書續藉的實現過程 231
13.10.5 圖書歸還的實現過程 234
13.10.6 圖書藉閱查詢的實現過程 235
小結 239
附錄 實驗 240
實驗1:安裝MySQL數據庫 241
實驗2:創建數據庫並指定使用的字符集 241
實驗3:創建和修改數據錶 243
實驗4:使用SQL語句插入和更新記錄 244
實驗5:為錶創建索引 246
實驗6:創建並使用約束 247
實驗7:模糊查詢數據 249
實驗8:查詢和匯總數據庫的數據 250
實驗9:創建視圖 251
實驗10:創建觸發器 252
實驗11:創建和使用存儲過程 254
實驗12:備份和恢復數據庫 255
MySQL數據庫管理與開發(慕課版) 一、 課程概述: 《MySQL數據庫管理與開發(慕課版)》是一門麵嚮廣大計算機科學與技術、軟件工程、信息管理等相關專業的學習者精心設計的在綫課程。本課程旨在為學員提供全麵、係統且深入的MySQL數據庫知識體係,涵蓋從基礎概念到高級應用的各個層麵。通過理論講解、實例演示、實踐練習等多元化的教學手段,幫助學員掌握MySQL數據庫的安裝配置、日常管理、SQL語言的精通運用,以及如何進行高效的數據庫設計與開發,最終培養具備獨立完成數據庫相關任務的能力。 本課程特彆強調理論與實踐的結閤,既講解數據庫原理和規範,又注重在實際操作中加深理解。慕課形式的靈活性使得學習者可以根據自身節奏進行學習,碎片化時間得到充分利用。課程內容緊密貼閤業界實際需求,旨在培養齣能夠直接投入工作崗位的實用型人纔。 二、 課程目標: 完成本課程的學習後,學員將能夠: 1. 理解數據庫基本概念與原理: 深入理解關係型數據庫、錶、字段、記錄、索引、視圖、觸發器等核心概念,掌握數據庫管理係統的基本工作原理。 2. 熟練掌握MySQL的安裝與配置: 能夠根據不同操作係統環境,正確安裝、配置和啓動MySQL服務器,並進行基本的安全加固。 3. 精通SQL語言: 熟練運用SQL語言進行數據查詢(SELECT)、插入(INSERT)、更新(UPDATE)、刪除(DELETE)等基本操作,掌握多錶連接、子查詢、聚閤函數、分組、排序等高級查詢技巧。 4. 掌握數據庫設計與優化: 理解數據庫範式,能夠根據實際需求進行閤理的數據庫結構設計,並掌握索引創建、查詢優化、性能調優等關鍵技術。 5. 學會數據庫的日常管理: 掌握用戶權限管理、數據備份與恢復、日誌管理、性能監控等數據庫日常維護操作,確保數據庫的安全穩定運行。 6. 進行簡單的數據庫開發: 瞭解存儲過程、函數、視圖、觸發器等數據庫對象,並能結閤編程語言(如PHP, Java, Python等)進行數據庫應用程序的開發。 7. 解決實際數據庫問題: 能夠分析和解決開發與管理過程中遇到的常見數據庫問題,具備獨立排查故障的能力。 三、 課程內容詳解: 第一部分:數據庫基礎與MySQL入門 第一章:數據庫係統概述 數據庫的産生背景與發展曆程。 數據庫、數據庫管理係統(DBMS)與數據庫係統的定義及關係。 數據模型:層次模型、網狀模型、關係模型。 關係型數據庫的基本概念:錶(Table)、記錄(Record)、字段(Field)、主鍵(Primary Key)、外鍵(Foreign Key)、索引(Index)。 SQL(Structured Query Language)簡介:SQL的地位、特點與分類(DDL, DML, DCL, TCL)。 慕課特色: 通過生動形象的比喻和圖示,幫助初學者快速建立對數據庫的整體認知。 第二章:MySQL數據庫係統安裝與配置 MySQL介紹:版本特點、優勢與應用領域。 不同操作係統(Windows, Linux, macOS)下的MySQL安裝方法詳解。 MySQL服務器的啓動、停止與重啓。 MySQL配置文件解析:`my.cnf`/`my.ini`的關鍵配置項介紹。 MySQL客戶端工具的安裝與使用:MySQL Workbench, Navicat, DBeaver等。 慕課特色: 提供詳細的安裝腳本和操作視頻,演示每一步驟,避免安裝過程中的常見錯誤。 第三章:MySQL數據類型與約束 MySQL支持的常用數據類型:數值型(INT, DECIMAL)、字符串型(VARCHAR, TEXT)、日期時間型(DATETIME, TIMESTAMP)、布爾型(BOOLEAN)。 數據類型的選擇原則與注意事項。 數據完整性約束:NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, DEFAULT。 約束的創建、修改與刪除。 慕課特色: 針對不同業務場景,講解何時選擇何種數據類型,以及如何設計有效的約束來保證數據質量。 第二部分:SQL語言精通 第四章:基本數據查詢(SELECT) `SELECT`語句的基本語法:指定列、``通配符。 `FROM`子句:指定數據來源錶。 `WHERE`子句:條件查詢,邏輯運算符(AND, OR, NOT),比較運算符(=, >, <, >=, <=, !=, <>)。 運算符優先級與嵌套查詢。 慕課特色: 大量互動式查詢練習,通過實際案例引導學員寫齣復雜的查詢語句。 第五章:數據排序與分頁 `ORDER BY`子句:升序(ASC)與降序(DESC)排序。 多列排序。 `LIMIT`子句:實現數據分頁,`OFFSET`關鍵字。 慕課特色: 講解分頁在Web應用中的重要性,並演示如何用SQL實現高效分頁。 第六章:聚閤函數與分組查詢 常用聚閤函數:`COUNT()`, `SUM()`, `AVG()`, `MAX()`, `MIN()`。 `GROUP BY`子句:對數據進行分組統計。 `HAVING`子句:對分組後的結果進行過濾。 `ROLLUP`與`CUBE`:多維度分組統計(高級)。 慕課特色: 結閤報錶統計、用戶行為分析等場景,展示聚閤函數與分組查詢的強大功能。 第七章:多錶連接查詢(JOIN) 連接的類型:內連接(INNER JOIN)、左外連接(LEFT JOIN/LEFT OUTER JOIN)、右外連接(RIGHT JOIN/RIGHT OUTER JOIN)、全外連接(FULL OUTER JOIN)。 `ON`子句:指定連接條件。 `USING`子句:簡化連接條件。 多錶連接的實踐案例:訂單與用戶、商品與分類等。 慕課特色: 通過圖解和實際數據,清晰展示不同JOIN類型的工作原理,幫助學員避免連接錯誤。 第八章:子查詢(Subquery) 什麼是子查詢,子查詢的分類(標量子查詢、行子查詢、錶子查詢)。 在`WHERE`子句中使用子查詢(`IN`, `NOT IN`, `=`, `!=`, `>`, `<`, `>=`, `<=`, `EXISTS`, `NOT EXISTS`)。 在`SELECT`子句中使用子查詢。 在`FROM`子句中使用子查詢(派生錶)。 慕課特色: 講解何時以及如何有效地使用子查詢,並對比與JOIN的性能差異。 第九章:數據操縱(DML) `INSERT`語句:單行插入、多行插入、插入查詢結果。 `UPDATE`語句:更新單行、多行、帶條件更新。 `DELETE`語句:刪除單行、多行、帶條件刪除。 `TRUNCATE TABLE`語句:快速刪除錶內所有數據。 慕課特色: 強調數據修改操作的風險性,教授如何安全有效地執行DML操作,並進行事務管理。 第三部分:數據庫設計與開發 第十章:數據庫設計基礎 數據庫設計的重要性與流程。 實體-關係模型(ERM):實體、屬性、關係、基數。 數據庫範式:第一範式(1NF)、第二範式(2NF)、第三範式(3NF)及其意義。 反範式化設計:何時以及如何應用。 慕課特色: 引導學員從業務需求齣發,繪製ER圖,並將其轉化為物理數據庫模型。 第十一章:視圖(View)與索引(Index) 視圖的定義、作用與優點。 創建、修改與刪除視圖。 視圖的優缺點分析。 索引的概念、作用與類型:B-tree索引、Hash索引、全文索引。 索引的創建、刪除與管理。 何時創建索引,何時避免創建索引。 `EXPLAIN`命令:分析SQL語句的執行計劃,理解索引的使用情況。 慕課特色: 深入講解`EXPLAIN`的使用,幫助學員理解索引如何提升查詢性能,並教授如何根據查詢語句優化索引策略。 第十二章:存儲過程(Stored Procedure)與函數(Function) 存儲過程與函數的定義、作用與區彆。 創建、調用、修改與刪除存儲過程和函數。 參數傳遞:IN, OUT, INOUT。 變量、流程控製語句(IF, CASE, LOOP, WHILE)。 慕課特色: 提供實際應用場景,如批量數據處理、復雜業務邏輯封裝,演示存儲過程和函數的編寫。 第十三章:觸發器(Trigger)與事件(Event) 觸發器的定義、作用與類型(BEFORE/AFTER INSERT/UPDATE/DELETE)。 創建、修改與刪除觸發器。 觸發器的應用場景:數據同步、日誌記錄、復雜數據校驗。 MySQL事件調度器:創建、管理定時執行的任務。 慕課特色: 通過具體示例,展示觸發器如何實現數據之間的自動化關聯和約束。 第四部分:數據庫管理與安全 第十四章:用戶與權限管理 MySQL的用戶賬戶係統。 創建、刪除用戶。 用戶認證方式:密碼加密。 權限的授予(GRANT)與撤銷(REVOKE):全局權限、數據庫權限、錶權限、列權限。 角色(Role)的概念與管理(MySQL 8.0+)。 慕課特色: 強調安全的重要性,教授如何遵循最小權限原則,建立安全的用戶權限體係。 第十五章:數據備份與恢復 備份的重要性與策略:冷備份、熱備份。 邏輯備份工具:`mysqldump`的使用。 物理備份工具:`XtraBackup`(簡介)。 數據恢復方法:全量恢復、增量恢復。 慕課特色: 提供實際的備份腳本,並演示不同場景下的恢復過程,幫助學員建立可靠的備份恢復計劃。 第十六章:數據庫性能監控與調優 MySQL性能指標:連接數、查詢速度、CPU/內存/磁盤IO。 性能監控工具:`SHOW PROCESSLIST`, `SHOW GLOBAL STATUS`, `SHOW ENGINE INNODB STATUS`, Performance Schema, Slow Query Log。 常見的性能瓶頸分析與定位。 SQL語句優化技巧迴顧。 數據庫參數調優:`innodb_buffer_pool_size`, `query_cache_size` (已廢棄), `tmp_table_size`等。 慕課特色: 引導學員學會使用工具診斷性能問題,並提供具體的調優案例和建議。 第十七章:事務與並發控製 事務(Transaction)的概念:ACID特性。 MySQL事務的實現(InnoDB引擎)。 事務的隔離級彆:READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE。 並發控製:鎖(Lock)機製。 死鎖(Deadlock)的産生與避免。 慕課特色: 深入淺齣地講解事務與並發控製的原理,幫助學員理解多用戶環境下數據的一緻性保證。 第四部分:高級應用與實戰 第十八章:MySQL與其他技術的結閤 使用PHP/Java/Python等語言進行MySQL數據庫的連接與操作。 Web開發中的常見數據庫應用模式。 ORM(Object-Relational Mapping)框架簡介。 慕課特色: 提供不同語言的數據庫連接示例代碼,幫助學員將數據庫知識應用於實際的應用程序開發。 第十九章:數據庫安全策略與最佳實踐 SQL注入攻擊的原理與防範。 數據加密技術:字段加密、傳輸加密。 數據庫訪問控製與審計。 安全加固的常用措施。 慕課特色: 總結課程中的安全知識點,並提供全麵的安全實踐指南。 第二十章:綜閤實戰項目 從零開始設計並實現一個小型Web應用(如博客係統、在綫商城的部分功能),貫穿數據庫設計、SQL編寫、數據操作、用戶管理等所有課程內容。 慕課特色: 通過完整的項目案例,鞏固學員所學知識,提升解決實際問題的能力。 四、 學習方式與評價: 本課程采用視頻講解、課後習題、在綫測驗、互動論壇等多種學習方式。學員可以通過在綫平颱隨時隨地觀看教學視頻,完成配套的編程練習和知識點鞏固測試。課程設有定期的單元測驗和期末考試,以評估學員的學習成果。積極參與論壇討論和完成實踐項目,將有助於學員更深入地理解和掌握數據庫技術。 五、 適用人群: 計算機科學與技術、軟件工程、信息管理等相關專業的在校學生。 希望係統學習MySQL數據庫的開發者、運維工程師。 需要進行數據分析、數據處理的業務人員。 對數據庫技術感興趣的零基礎學習者。 《MySQL數據庫管理與開發(慕課版)》將是您邁嚮數據庫技術領域的堅實一步,助您在數字化時代掌握核心競爭力。