MySQL從入門到精通(第2版)

MySQL從入門到精通(第2版)

《MySQL從入門到精通(第2版)》是2021年10月清華大學出版社出版的圖書。

基本介紹

  • 中文名:MySQL從入門到精通(第2版)
  • 作者:明日科技
  • 出版時間:2021年10月
  • 出版社清華大學出版社
  • ISBN:9787302585688
內容簡介,圖書目錄,

內容簡介

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

圖書目錄

第1篇 基礎知識
第1章 資料庫基礎 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章 存儲引擎及數據類型 64
視頻講解:18分鐘
5.1 MySQL存儲引擎 64
5.1.1 MySQL存儲引擎的概念 64
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
6.4 重命名表 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
第10章 常用函式 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)函式、POSITION(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
第11章 索引 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
第12章 視圖 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篇 高級套用
第13章 數據完整性約束 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
第14章 存儲過程與存儲函式 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
第15章 觸發器 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
第16章 事務 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
16.4 小結 241
16.5 實踐與練習 241
第17章 事件 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
第18章 備份與恢復 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 小結 264
18.6 實踐與練習 264
第19章 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模組 364
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.3 退出登錄功能的實現 376
23.6.4 用戶許可權管理功能的實現 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
24.6.4 配置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

相關詞條

熱門詞條

聯絡我們