MySQL數據庫應用實戰教程(慕課版)(第2版)
洪曉芳 王燦運 張雅美
商品描述
MySQL是目前流行的采用客戶端/服務器模式的關系數據庫之一。本書利用大量案例深入淺出地介紹了MySQL數據庫的基礎知識。本書共9個單元,分別為MySQL概述、MySQL數據類型、MySQL常用操作、MySQL查詢、MySQL函數和存儲過程、MySQL高級特性、索引、綜合案例——圖書管理系統、MySQL管理。本書實戰案例豐富、內容全面,配套慕課課程。
本書適合作為高校MySQL數據庫應用相關課程的教材,也可供MySQL愛好者參考使用。
作者簡介
洪曉芳,山東勞動職業技術學院電氣及自動化系副教授、博士、山東省技術能手。具有電工高級技師職業資格,是山東省高等學校“青創科技計劃”智能控制及應用創新團隊帶頭人、國家級大師工作室核心成員、齊魯技能大師特色工作站核心成員。
目錄大綱
目錄
第 1單元
MySQL概述 1
【學習導讀】 1
【學習目標】 1
【思維導圖】 2
1.1 數據庫發展歷史 2
1.1.1 數據庫發展階段 2
1.1.2 MySQL數據庫發展歷史 3
1.2 關系數據庫 4
1.2.1 數據庫概述 4
1.2.2 關系模型 7
1.2.3 常用的關系數據庫 8
1.2.4 SQL 8
1.3 MySQL的工作原理 9
1.4 MySQL數據庫存儲引擎 10
1.4.1 InnoDB引擎 11
1.4.2 MyISAM引擎 11
1.4.3 MEMORY引擎 12
1.4.4 CSV引擎 12
1.4.5 ARCHIVE引擎 12
1.4.6 BLACKHOLE引擎 12
1.4.7 存儲引擎特點對比 12
1.5 綜合實訓:安裝MySQL數據庫 13
1.5.1 在Windows環境下安裝
MySQL 14
1.5.2 在Linux環境下安裝
MySQL 16
1.6 MySQL客戶端管理工具 17
1.7 小結 20
1.8 習題 20
第 2單元
MySQL數據類型 22
【學習導讀】 22
【學習目標】 22
【思維導圖】 23
2.1 數值類型 23
2.2 字符串類型 24
2.3 日期和時間類型 25
2.4 復合類型 26
2.5 JSON數據類型 26
2.6 空間數據類型 27
2.7 如何選取數據類型 28
2.8 綜合實訓:設計電商平臺
商品表 29
2.9 小結 29
2.10 習題 30
第3單元
MySQL常用操作 31
【學習導讀】 31
【學習目標】 31
【思維導圖】 32
3.1 數據庫用戶管理 32
3.1.1 連接MySQL 32
3.1.2 新增用戶 33
3.1.3 修改用戶密碼 34
3.2 數據庫操作 35
3.2.1 查看數據庫 35
3.2.2 創建數據庫 35
3.2.3 使用數據庫 36
3.2.4 刪除數據庫 36
3.3 表操作 37
3.3.1 創建表 37
3.3.2 查看表結構 38
3.3.3 修改表結構 38
3.3.4 復制表 39
3.3.5 使用臨時表和內存表 43
3.4 數據操作 44
3.4.1 插入和查詢數據 44
3.4.2 修改數據 47
3.4.3 刪除數據 48
3.4.4 對查詢結果進行排序 49
3.4.5 對查詢結果進行分組 51
3.4.6 設置分組條件 54
3.4.7 限制查詢數量 56
3.5 字段操作 57
3.5.1 設置為主鍵 57
3.5.2 設置為復合主鍵 59
3.5.3 添加/刪除字段 60
3.5.4 改變字段類型 61
3.5.5 字段重命名 61
3.5.6 為字段設置默認值 62
3.5.7 設置自增字段 64
3.6 客戶端操作數據庫 70
3.7 綜合實訓:設計電商平臺
訂單表 72
3.8 小結 74
3.9 習題 74
第4單元
MySQL查詢 75
【學習導讀】 75
【學習目標】 75
【思維導圖】 76
4.1 基本查詢語法 76
4.2 數據過濾 80
4.2.1 基本查詢過濾 81
4.2.2 條件查詢過濾 82
4.2.3 模糊查詢過濾 85
4.2.4 字段控制查詢過濾 88
4.2.5 正則表達式查詢過濾 90
4.3 子查詢 94
4.3.1 什麼是子查詢 94
4.3.2 按返回結果進行分類的
子查詢 95
4.3.3 按對返回結果的調用方法
進行分類的子查詢 98
4.4 聚合函數 103
4.4.1 AVG()函數 103
4.4.2 COUNT()函數 104
4.4.3 MAX()/MIN()函數 105
4.4.4 SUM()函數 107
4.4.5 窗口函數 108
4.5 高級查詢 112
4.5.1 內連接查詢 112
4.5.2 外連接查詢 116
4.5.3 自然連接查詢 119
4.5.4 交叉連接查詢 121
4.5.5 聯合查詢 123
4.6 綜合實訓:設計電商平臺查詢 125
4.7 小結 128
4.8 習題 128
第5單元
MySQL函數和存儲過程 130
【學習導讀】 130
【學習目標】 130
【思維導圖】 131
5.1 MySQL流程控制函數 131
5.2 MySQL常用函數 135
5.2.1 數學函數 136
5.2.2 字符串函數 138
5.2.3 日期和時間函數 141
5.2.4 系統信息函數 145
5.2.5 加密函數 147
5.2.6 格式化函數 149
5.3 自定義函數 151
5.3.1 函數的基本語法 151
5.3.2 創建不帶參數的自定義
函數 153
5.3.3 創建帶參數的自定義
函數 154
5.4 存儲過程 155
5.4.1 存儲過程的基本語法 155
5.4.2 創建不帶參數的存儲
過程 157
5.4.3 創建帶有IN類型參數的
存儲過程 159
5.4.4 創建帶有IN和OUT類型
參數的存儲過程 161
5.4.5 創建帶有多個OUT類型
參數的存儲過程 163
5.4.6 創建帶有INOUT類型
參數的存儲過程 164
5.4.7 創建帶有IF語句的存儲
過程 166
5.4.8 創建帶有CASE語句的
存儲過程 167
5.4.9 創建帶有WHILE循環的
存儲過程 169
5.5 自定義函數和存儲過程 170
5.5.1 自定義函數和存儲過程的
區別 170
5.5.2 存儲過程的使用建議 171
5.6 綜合實訓:設計電商平臺函數和
存儲過程 171
5.7 小結 173
5.8 習題 173
第6單元
MySQL高級特性 175
【學習導讀】 175
【學習目標】 175
【思維導圖】 176
6.1 視圖 176
6.1.1 什麼是視圖 176
6.1.2 創建視圖 176
6.1.3 修改視圖 180
6.1.4 更新視圖數據 183
6.1.5 刪除視圖和數據 186
6.2 遊標 188
6.2.1 遊標的使用方法 188
6.2.2 遊標的WHILE循環 191
6.2.3 遊標的REPEAT循環 195
6.2.4 遊標的LOOP循環 196
6.3 觸發器 198
6.3.1 創建觸發器 198
6.3.2 NEW和OLD關鍵字 201
6.3.3 查看和刪除觸發器 203
6.3.4 INSERT型觸發器 203
6.3.5 UPDATE型觸發器 205
6.3.6 DELETE型觸發器 208
6.4 綜合實訓:電商平臺視圖、遊標、
觸發器的應用 209
6.5 小結 211
6.6 習題 211
第7單元
索引 213
【學習導讀】 213
【學習目標】 213
【思維導圖】 214
7.1 索引的基本語法 214
7.1.1 創建索引 214
7.1.2 查看索引 216
7.1.3 刪除索引 217
7.2 常見的查找算法 219
7.3 索引的數據結構 220
7.3.1 B-Tree數據結構 220
7.3.2 B+Tree數據結構 221
7.4 索引實現原理 222
7.4.1 MyISAM引擎的
索引實現 222
7.4.2 InnoDB引擎的
索引實現 223
7.4.3 MEMORY引擎的
索引實現 224
7.5 索引的應用 224
7.5.1 創建表及添加索引 225
7.5.2 使用EXPLAIN語句分析
索引 227
7.5.3 索引使用策略 241
7.5.4 索引應用實例 245
7.6 索引的類型 254
7.6.1 主鍵索引 254
7.6.2 普通索引 255
7.6.3 唯一索引 256
7.6.4 單列索引和聯合索引 257
7.6.5 聚簇索引和非聚簇索引 257
7.6.6 覆蓋索引 258
7.6.7 重復索引和冗余索引 259
7.6.8 降序索引 259
7.6.9 隱藏索引 262
7.6.10 函數索引 262
7.7 索引不能使用的場景 263
7.7.1 前導模糊查詢 263
7.7.2 比較不匹配的數據
類型 264
7.7.3 使用OR連接條件
表達式 265
7.7.4 條件表達式與函數 267
7.8 索引的利弊及創建原則 269
7.9 綜合實訓:電商平臺查詢索引
應用 269
7.10 小結 274
7.11 習題 274
第8單元
綜合案例——圖書管理
系統 276
【學習導讀】 276
【學習目標】 276
【思維導圖】 277
8.1 需求管理 277
8.2 數據庫設計 278
8.3 創建數據庫 280
8.3.1 建表語句 280
8.3.2 初始化數據 282
8.4 用戶信息管理 283
8.4.1 用戶管理 284
8.4.2 部門管理 285
8.5 圖書管理 285
8.5.1 新增圖書分類 285
8.5.2 新增圖書 286
8.6 借書管理 287
8.6.1 借書預約管理 288
8.6.2 借書登記管理 290
8.6.3 還書登記管理 292
8.6.4 圖書遺失登記管理 295
8.7 視圖管理 296
8.7.1 用戶信息查詢視圖 296
8.7.2 用戶借閱圖書查詢視圖 296
8.7.3 用戶還書查詢視圖 297
8.8 小結 297
8.9 習題 297
第9單元
MySQL管理 299
【學習導讀】 299
【學習目標】 299
【思維導圖】 300
9.1 用戶管理 300
9.1.1 創建用戶 300
9.1.2 修改用戶 301
9.1.3 刪除用戶 303
9.2 權限管理 305
9.2.1 授予和撤銷權限 305
9.2.2 用戶權限體系 309
9.2.3 權限授予原則 309
9.3 表空間管理 312
9.4 備份與還原 314
9.4.1 備份數據庫 314
9.4.2 還原數據庫 315
9.5 主從同步配置 316
9.5.1 主數據庫配置 316
9.5.2 從數據庫配置 317
9.6 綜合實訓:電商平臺數據庫
管理 318
9.7 小結 319
9.8 習題 320