MySQL 從入門到精通, 2/e

MySQL 從入門到精通, 2/e

作者: 明日科技
出版社: 清華大學
出版在: 2021-10-01
ISBN-13: 9787302585688
ISBN-10: 7302585687
裝訂格式: 平裝
總頁數: 438 頁





內容描述


《MySQL從入門到精通(第2版)》從初學者角度出發,通過通俗易懂的語言和豐富多彩的實例,詳細介紹了MySQL開發需要掌握的各方面技術。全書共分為4篇24章,包括數據庫基礎,初識MySQL,使用MySQL圖形化管理工具,數據庫操作,存儲引擎及數據類型,數據表操作,MySQL基礎,表數據的增、刪、改操作,數據查詢,常用函數,索引,視圖,數據完整性約束,存儲過程與存儲函數,觸發器,事務,事件,備份與恢復,MySQL性能優化,權限管理及安全控制,PHP管理MySQL數據庫中的數據,PHP+MySQL實現物流配送信息網,Python+MySQL實現在線學習筆記,Struts 2+Spring+Hibernate+MySQL實現網絡商城等內容。所有知識都結合具體實例進行介紹,涉及的程序代碼也給出了詳細的註釋,可以使讀者輕松領會MySQL的精髓,快速提高開發技能。


目錄大綱


篇 基礎知識
章 數據庫基礎 2
講解:23分鐘
1.1 數據庫系統概述 2
1.1.1 數據庫技術的發展 2
1.1.2 數據庫系統的組成 3
1.2 數據模型 3
1.2.1 數據模型的概念 3
1.2.2 常見的數據模型 4
1.2.3 關係數據庫的規範化 5
1.2.4 關係數據庫的設計原則 7
1.2.5 實體與關係 7
1.3 數據庫的體系結構 7
1.3.1 數據庫三級模式結構 7
1.3.2 三級模式之間的映射 8
1.4 小結 8
1.5 實踐與練習 9
第2章 初識MySQL 10
講解:22分鐘
2.1 了解MySQL 10
2.1.1 MySQL數據庫的概念 10
2.1.2 MySQL的優勢 11
2.1.3 MySQL的發展史 11
2.2 MySQL 8.0的新特性 11
2.3 MySQL的應用環境 13
2.4 MySQL服務器的安裝和配置 13
2.4.1 MySQL服務器安裝包下載 13
2.4.2 MySQL服務器安裝 17
2.4.3 啟動、連接、斷開和停止MySQL服務器 27
2.4.4 打開MySQL 8.0 Command Line Client 30
2.5 如何學好MySQL 31
2.6 小結 32
2.7 實踐與練習 32
第3章 使用MySQL圖形化管理工具 33
講解:23分鐘
3.1 安裝phpMyAdmin圖形化管理工具 33
3.1.1 phpMyAdmin圖形化管理工具簡介 33
3.1.2 下載phpstudy集成開發環境 34
3.1.3 下載phpMyAdmin 34
3.1.4 打開phpMyAdmin 34
3.2 數據庫操作管理 35
3.2.1 創建數據庫 35
3.2.2 修改和刪除數據庫 36
3.3 管理數據表 36
3.3.1 創建數據表 37
3.3.2 修改數據表 38
3.3.3 刪除數據表 38
3.4 管理數據記錄 39
3.4.1 使用SQL語句插入數據 39
3.4.2 使用SQL語句修改數據 40
3.4.3 使用SQL語句查詢數據 40
3.4.4 使用SQL語句刪除數據 41
3.4.5 通過form表單插入數據 42
3.4.6 瀏覽數據 43
3.4.7 搜索數據 43
3.5 導入/導出數據 44
3.5.1 導出MySQL數據庫腳本 44
3.5.2 導入MySQL數據庫腳本 45
3.6 設置編碼格式 46
3.7 添加服務器新用戶 48
3.8 重置MySQL服務器登錄密碼 49
3.9 小結 51
3.10 實踐與練習 51
第4章 數據庫操作 52
講解:28分鐘
4.1 認識數據庫 52
4.1.1 數據庫基本概念 52
4.1.2 數據庫常用對象 53
4.1.3 系統數據庫 54
4.2 創建數據庫 55
4.2.1 CREATE DATABASE語句創建數據庫 56
4.2.2 CREATE SCHEMA語句創建數據庫 56
4.2.3 創建指定字符集的數據庫 56
4.2.4 創建數據庫前判斷是否存在同名數據庫 57
4.3 查看數據庫 58
4.4 選擇數據庫 59
4.5 修改數據庫 60
4.6 刪除數據庫 61
4.7 小結 62
4.8 實踐與練習 63
第5章 存儲引擎及數據類型
講解:18分鐘
5.1 MySQL存儲引擎
5.1.1 MySQL存儲引擎的概念
5.1.2 查詢MySQL中支持的存儲引擎 65
5.1.3 InnoDB存儲引擎 67
5.1.4 MyISAM存儲引擎 68
5.1.5 MEMORY存儲引擎 68
5.1.6 選擇存儲引擎 70
5.1.7 設置數據表的存儲引擎 70
5.2 MySQL數據類型 71
5.2.1 數字類型 71
5.2.2 字符串類型 72
5.2.3 日期和時間類型 74
5.3 小結 74
5.4 實踐與練習 74
第6章 數據表操作 75
講解:38分鐘
6.1 創建數據表 75
6.2 查看表結構 77
6.2.1 使用SHOW COLUMNS語句查看 77
6.2.2 使用DESCRIBE語句查看 78
6.3 修改表結構 78
6.3.1 添加新字段和修改字段定義 79
6.3.2 修改字段名/類型 80
6.3.3 刪除字段 81
6.3.4 修改表名 81
重命名表 82
6.5 複製表 83
6.6 刪除表 85
6.7 小結 86
6.8 實踐與練習 86
第2篇 核心技術
第7章 MySQL基礎 88
講解:37分鐘
7.1 運算符 88
7.1.1 算術運算符 88
7.1.2 比較運算符 89
7.1.3 邏輯運算符 93
7.1.4 位運算符 95
7.1.5 運算符的優先級 95
7.2 流程控制語句 96
7.2.1 IF語句 96
7.2.2 CASE語句 97
7.2.3 WHILE循環語句 98
7.2.4 LOOP循環語句 99
7.2.5 REPEAT循環語句 100
7.3 小結 101
7.4 實踐與練習 101
第8章 表數據的增、刪、改操作 102
講解:31分鐘
8.1 添加數據 102
8.1.1 使用INSERT…VALUES語句插入數據 102
8.1.2 使用INSERT…SET語句插入數據 106
8.1.3 使用INSERT...SELECT語句插入查詢結果 107
8.2 修改數據 109
8.3 刪除數據 110
8.3.1 通過DELETE語句刪除數據 110
8.3.2 通過TRUNCATE TABLE語句刪除數據 111
8.4 小結 112
8.5 實踐與練習 112
第9章 數據查詢 113
講解:75分鐘
9.1 基本查詢語句 113
9.2 單表查詢 115
9.2.1 查詢所有字段 115
9.2.2 查詢指定字段 116
9.2.3 查詢指定數據 116
9.2.4 帶關鍵字IN的查詢 117
9.2.5 帶關鍵字BETWEEN AND的範圍查詢 117
9.2.6 帶LIKE的字符匹配查詢 118
9.2.7 用IS NULL關鍵字查詢空值 118
9.2.8 帶AND的多條件查詢 119
9.2.9 帶OR的多條件查詢 119
9.2.10 用DISTINCT關鍵字去除結果中的重複行 120
9.2.11 用ORDER BY關鍵字對查詢結果排序 120
9.2.12 用GROUP BY關鍵字分組查詢 121
9.2.13 用LIMIT查詢結果的數量 122
9.3 聚合函數查詢 123
9.3.1 COUNT()函數 123
9.3.2 SUM()函數 124
9.3.3 AVG()函數 124
9.3.4 MAX()函數 125
9.4.3 複合條件連接查詢 125
9.3.5 MIN()函數 126
9.4 連接查詢 126
9.4.1 內連接查詢 126
9.4.2 外連接查詢 127
9.5 子查詢 129
9.5.1 帶IN關鍵字的子查詢 129
9.5.2 帶比較運算符的子查詢 130
9.5.3 帶EXISTS關鍵字的子查詢 131
9.5.4 帶ANY關鍵字的子查詢 132
9.5.5 帶ALL關鍵字的子查詢 132
9.6 合併查詢結果 133
9.7 定義表和字段的別名 134
9.7.1 為表取別名 134
9.7.2 為字段取別名 135
9.8 使用正則表達式查詢 135
9.8.1 匹配指定字符中的任意一個 136
9.8.2 使用“*”和“ ”來匹配多個字符 137
9.8.3 匹配以指定的字符開頭和結束的記錄 137
9.9 小結 138
9.10 實踐與練習 138
0章 常用函數 139
講解:34分鐘
10.1 MySQL函數 139
10.2 數學函數 140
10.2.1 ABS(x)函數 141
10.2.2 FLOOR(x)函數 141
10.2.3 RAND()函數 142
10.2.4 PI()函數 142
10.2.5 TRUNCATE(x,y)函數 143
10.2.6 ROUND(x)函數和ROUND(x,y)函數 143
10.2.7 SQRT(x)函數 143
10.3 字符串函數 144
10.3.1 INSERT(s1,x,len,s2)函數 145
10.3.2 UPPER(s)函數和UCASE(s)函數 146
10.3.3 LEFT(s,n)函數 146
10.3.4 RTRIM(s)函數 146
10.3.5 SUBSTRING(s,n,len)函數 147
10.3.6 REVERSE(s)函數 147
10.3.7 FIELD(s,s1,s2,…)函數 147
10.3.8 LOCATE(s1,s)函數、ITION(s1 IN s)函數和INSTR(s,s1)函數 148
10.4 日期和時間函數 149
10.4.1 CURDATE()函數和CURRENT_DATE()函數 150
10.4.2 CURTIME()函數和CURRENT_TIME()函數 151
10.4.3 NOW()函數 151
10.4.4 DATEDIFF(d1,d2)函數 152
10.4.5 ADDDATE(d,n)函數 152
10.4.6 ADDDATE(d,INTERVAL expr type)函數 152
10.4.7 SUBDATE(d,n)函數 153
10.5 條件判斷函數 153
10.6 系統信息函數 154
10.6.1 獲取MySQL版本號、連接數和數據庫名的函數 155
10.6.2 獲取用戶名的函數 155
10.6.3 獲取字符串的字符集和排序方式的函數 155
10.7 其他函數 156
10.7.1 格式化函數FORMAT(x,n) 157
10.7.2 改變字符集的函數 157
10.7.3 改變字段數據類型的函數 157
10.8 小結 158
10.9 實踐與練習 158
1章 索引 159
講解:21分鐘
11.1 索引概述 159
11.1.1 MySQL索引概述 159
11.1.2 MySQL索引分類 160
11.2 創建索引 161
11.2.1 在建立數據表時創建索引 161
11.2.2 在已建立的數據表中創建索引 166
11.2.3 修改數據表結構添加索引 169
11.3 刪除索引 171
11.4 小結 172
11.5 實踐與練習 172
2章 視圖 173
講解:26分鐘
12.1 視圖概述 173
12.1.1 視圖的概念 173
12.1.2 視圖的作用 174
12.2 創建視圖 174
12.2.1 查看創建視圖的權限 175
12.2.2 創建視圖 175
12.2.3 創建視圖的注意事項 177
12.3 視圖操作 177
12.3.1 查看視圖 177
12.3.2 修改視圖 180
12.3.3 更新視圖 181
12.3.4 刪除視圖 183
12.4 小結 184
12.5 實踐與練習 184
第3篇 不錯應用
3章 數據完整性約束 186
講解:29分鐘
13.1 定義完整性約束 186
13.1.1 實體完整性 186
13.1.2 參照完整性 189
13.1.3 用戶定義完整性 191
13.2 命名完整性約束 194
13.3 更新完整性約束 196
13.3.1 刪除完整性約束 196
13.3.2 修改完整性約束 197
13.4 小結 198
13.5 實踐與練習 198
4章 存儲過程與存儲函數 199
講解:42分鐘
14.1 創建存儲過程和存儲函數 199
14.1.1 創建存儲過程 199
14.1.2 創建存儲函數 201
14.1.3 變量的應用 203
14.1.4 光標的應用 205
14.2 調用存儲過程和存儲函數 207
14.2.1 調用存儲過程 207
14.2.2 調用存儲函數 207
14.3 查看存儲過程和存儲函數 208
14.3.1 SHOW STATUS語句 208
14.3.2 SHOW CREATE語句 208
14.4 修改存儲過程和存儲函數 209
14.5 刪除存儲過程和存儲函數 210
14.6 小結 211
14.7 實踐與練習 211
5章 觸發器 212
講解:25分鐘
15.1 MySQL觸發器 212
15.1.1 創建MySQL觸發器 212
15.1.2 創建具有多條執行語句的觸發器 214
15.2 查看觸發器 215
15.2.1 SHOW TRIGGERS語句 215
15.2.2 查看triggers表中觸發器信息 216
15.3 使用觸發器 217
15.3.1 觸發器的執行順序 217
15.3.2 使用觸發器維護冗餘數據 218
15.4 刪除觸發器 220
15.5 小結 221
15.6 實踐與練習 221
6章 事務 222
講解:46分鐘
16.1 事務機制 222
16.1.1 事務的概念 222
16.1.2 事務機制的必要性 223
16.1.3 關閉MySQL自動提交 225
16.1.4 事務回滾 226
16.1.5 事務提交 228
16.1.6 MySQL中的事務 229
16.1.7 回退點 231
16.2 鎖機制 232
16.2.1 MySQL鎖機制的基本知識 232
16.2.2 MyISAM表的表級鎖 234
16.2.3 InnoDB表的行級鎖 237
16.2.4 死鎖的概念與避免 239
16.3 事務的隔離級別 239
16.3.1 事務的隔離級別與並發問題 240
16.3.2 設置事務的隔離級別 240
1 小結 241
16.5 實踐與練習 241
7章 事件 242
講解:18分鐘
17.1 事件概述 242
17.1.1 查看事件是否開啟 242
17.1.2 開啟事件 243
17.2 創建事件 244
17.3 修改事件 247
17.4 刪除事件 248
17.5 小結 249
17.6 實踐與練習 249
8章 備份與恢復 250
講解:44分鐘
18.1 數據備份 250
18.1.1 使用mysqldump命令備份 251
18.1.2 直接複製整個數據庫目錄 253
18.2 數據恢復 253
18.2.1 使用mysql命令還原 254
18.2.2 直接複製到數據庫目錄 254
18.3 數據庫遷移 254
18.3.1 相同版本的MySQL數據庫之間的遷移 255
18.3.2 不同數據庫之間的遷移 255
18.4 表的導出和導入 256
18.4.1 用SELECT...INTO OUTFILE語句導出文本文件 256
18.4.2 用mysqldump命令導出文本文件 258
18.4.3 用mysql命令導出文本文件 259
18.4.4 用LOAD DATA INFILE命令將文本文件導入數據表 260
18.4.5 用mysqlimport命令導入文本文件 262
18.5 小結 2
18.6 實踐與練習 2
9章 MySQL性能優化 265
講解:30分鐘
19.1 優化概述 265
19.1.1 分析MySQL數據庫的性能 266
19.1.2 通過profile工具分析語句消耗性能 267
19.2 優化查詢 268
19.2.1 分析查詢語句 268
19.2.2 索引對查詢速度的影響 269
19.2.3 使用索引查詢 270
19.3 優化數據庫結構 272
19.3.1 將字段很多的表分解成多個表 272
19.3.2 增加中間表 273
19.3.3 優化插入記錄的速度 274
19.3.4 分析表、檢查表和優化表 275
19.4 優化多表查詢 276
19.5 優化表設計 277
19.6 小結 278
19.7 實踐與練習 278
第20章 權限管理及安全控制 279
講解:29分鐘
20.1 安全保護策略概述 279
20.2 用戶和權限管理 280
20.2.1 使用CREATE USER命令創建用戶 280
20.2.2 使用DROP USER命令刪除用戶 281
20.2.3 使用RENAME USER命令重命名用戶 282
20.2.4 使用GRANT和REVOKE命令管理訪問權限 282
20.3 MySQL數據庫安全常見問題 287
20.3.1 權限更改何時生效 287
20.3.2 設置賬戶密碼 287
20.3.3 使密碼更安全 288
20.4 日誌文件 288
20.4.1 錯誤日誌 288
20.4.2 慢查詢日誌 289
20.4.3 查詢日誌 290
20.4.4 二進制日誌 290
20.5 小結 292
20.6 實踐與練習 292
第21章 PHP管理MySQL數據庫中的數據 293
講解:109分鐘
21.1 PHP語言概述 293
21.1.1 PHP的概念 293
21.1.2 PHP的特點 294
21.1.3 PHP的工作原理 295
21.1.4 PHP結合數據庫應用的優勢 296
21.2 PHP操作MySQL數據庫的基本步驟 296
21.2.1 連接MySQL服務器 296
21.2.2 選擇MySQL數據庫 297
21.2.3 執行SQL語句 298
21.2.4 將結果集返回到數組 299
21.2.5 從結果集中獲取一行作為對象 302
21.2.6 從結果集中獲取一行作為枚舉數組 304
21.2.7 從結果集中獲取一行作為關聯數組 305
21.2.8 獲取查詢結果集中的記錄數 305
21.2.9 釋放內存 306
21.2.10 關閉連接 306
21.3 管理MySQL數據庫中的數據 307
21.3.1 添加數據 307
21.3.2 編輯數據 311
21.3.3 刪除數據 315
21.4 小結 316
21.5 實踐與練習 317
第4篇 項目實戰
第22章 PHP MySQL實現物流配送信息網 320
講解:76分鐘
22.1 開發背景 321
22.2 系統分析 321
22.2.1 需求分析 321
22.2.2 可行性分析 321
22.3 系統設計 322
22.3.1 系統目標 322
22.3.2 系統功能結構 322
22.3.3 系統預覽 323
22.3.4 開發環境 325
22.3.5 文件夾組織結構 326
22.4 數據庫設計 326
22.4.1 數據庫分析 326
22.4.2 數據庫概念設計 326
22.4.3 創建數據庫及數據表 328
22.5 網站首頁設計 330
22.5.1 網站首頁概述 330
22.5.2 網站首頁技術分析 331
22.5.3 網站首頁的實現過程 331
22.6 車源信息查詢模塊設計 333
22.6.1 車源信息查詢模塊概述 333
22.6.2 車源信息查詢模塊技術分析 333
22.6.3 車源信息查詢模塊的實現過程 334
22.7 發貨單管理模塊設計 335
22.7.1 發貨單管理模塊概述 335
22.7.2 發貨單管理模塊技術分析 336
22.7.3 發貨單填單的實現過程 338
22.7.4 發貨單查詢的實現過程 343
22.7.5 發貨單刪除的實現過程 344
22.7.6 查看發貨單明細的實現過程 345
22.7.7 發貨單打印的實現過程 346
22.7.8 回執單驗收的實現過程 347
22.8 基礎信息管理模塊設計 349
22.8.1 基礎信息管理模塊概述 349
22.8.2 管理員信息管理的實現過程 350
22.8.3 客戶信息管理的實現過程 352
22.8.4 車源信息管理的實現過程 354
22.9 開發技巧與難點分析 356
22.9.1 應用Session存儲有關用戶會話的信息 356
22.9.2 應用正則表達式驗證電話號碼 357
22.10 小結 358
第23章 Python MySQL實現在線學習筆記 359
講解:55分鐘
23.1 需求分析 359
23.2 系統設計 360
23.2.1 系統目標 360
23.2.2 系統業務流程 360
23.2.3 系統預覽 360
23.3 系統開發 362
23.3.1 開發工具準備 362
23.3.2 文件夾組織結構 362
23.3.3 項目使用說明 363
23.4 技術準備 363
23.4.1 PyMySQL模塊 363
23.4.2 WTForms模塊 3
23.5 數據庫設計 366
23.5.1 數據庫概要說明 366
23.5.2 創建數據表 366
23.5.3 數據庫操作類 367
23.6 用戶模塊設計 370
23.6.1 用戶註冊功能的實現 370
23.6.2 用戶登錄功能的實現 373
23.6.出登錄功能的實現 376

  1. 用戶權限管理功能的實現 376
    23.7 筆記模塊設計 377
    23.7.1 筆記列表功能的實現 377
    23.7.2 添加筆記功能的實現 378
    23.7.3 編輯筆記功能的實現 380
    23.7.4 刪除筆記功能的實現 381
    23.8 小結 382
    第24章 Struts 2 Spring Hibernate MySQL實現網絡商城 383
    講解:151分鐘
    24.1 開發背景 383
    24.2 系統分析 384
    24.2.1 需求分析 384
    24.2.2 可行性分析 384
    24.3 系統設計 385
    24.3.1 功能結構圖 385
    24.3.2 系統流程圖 386
    24.3.3 開發環境 387
    24.3.4 文件夾組織結構 387
    24.3.5 系統預覽 387
    24.4 數據庫設計 390
    24.4.1 數據庫概念化設計 390
    24.4.2 創建數據庫及數據表 391
    24.5 公共模塊設計 393
    24.5.1 泛型工具類 394
    24.5.2 數據持久化類 394
    24.5.3 分頁操作 395
    24.5.4 字符串工具類 397
    24.5.5 實體映射 397
    24.6 項目環境搭建 403
    24.6.1 配置Struts 2 403
    24.6.2 配置Hibernate 406
    24.6.3 配置Spring 407
  2. 配置web.xml 408
    24.7 登錄註冊模塊設計 409
    24.7.1 模塊概述 409
    24.7.2 註冊模塊的實現 410
    24.8 前台商品信息查詢模塊設計 411
    24.8.1 模塊概述 411
    24.8.2 前台商品信息查詢模塊技術分析 411
    24.8.3 商品搜索模塊的實現 412
    24.8.4 前台商品其他查詢的實現 414
    24.9 購物車模塊設計 416
    24.9.1 模塊概述 416
    24.9.2 購物車模塊技術分析 417
    24.9.3 購物車基本功能的實現 417
    24.9.4 訂單相關功能的實現 420
    24.10 後台商品管理模塊設計 423
    24.10.1 模塊概述 423
    24.10.2 後台商品管理模塊技術分析 423
    24.10.3 商品管理功能的實現 424
    24.10.4 商品類別管理功能的實現 429
    24.11 後台訂單管理模塊設計 432
    24.11.1 模塊概述 432
    24.11.2 後台訂單管理模塊技術分析 433
    24.11.3 後台訂單查詢的實現 434
    24.12 開發技巧與難點分析 436
    24.12.1 解決訂單號為空時查詢報錯 436
    24.12.2 通過Struts 2的來解決Session超時出現空指針異常的問題 437
    24.13 小結 438

作者介紹


明日科技,全稱是吉林省明日科技有限公司,是一家專業從事軟件開發、教育培訓以及軟件開發教育資源整合的高科技公司,其編寫的教材非常注重選取軟件開發中的必需、常用內容,同時也很注重內容的易學、方便性以及相關知識的拓展性,深受讀者喜愛。其教材多次榮獲“全行業品種”“全國高校出版社書”等獎項,多個品種長期位居同類圖書銷售排行榜的前列。




相關書籍

Oracle數據庫與實踐教程

作者 方昕 呂方興

2021-10-01

Foxtable數據庫應用開發寶典

作者 賀輝 周菁

2021-10-01

Oracle SQL Developer Data Modeler for Database Design Mastery (Paperback)

作者 Heli Helskyaho

2021-10-01