MySQL數(shù)據(jù)庫管理實戰(zhàn)
定 價:99 元
- 作者:甘長春,孟飛 著
- 出版時間:2019/4/1
- ISBN:9787115505842
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.138SQ
- 頁碼:434
- 紙張:膠版紙
- 版次:1
- 開本:16開
《MySQL數(shù)據(jù)庫管理實戰(zhàn)》詳細介紹了MySQL數(shù)據(jù)庫管理從入門到實戰(zhàn)在內的所有知識。
《MySQL數(shù)據(jù)庫管理實戰(zhàn)》共分為18章,主要介紹了MySQL數(shù)據(jù)庫的系統(tǒng)管理與基本操作,MySQL數(shù)據(jù)庫的流程控制及函數(shù)、日期時間處理、分組統(tǒng)計、多表聯(lián)合操作,以及MySQL數(shù)據(jù)庫的內部工作原理、存儲引擎、事務處理、存儲程序開發(fā)、備份恢復、性能優(yōu)化等內容。
《MySQL數(shù)據(jù)庫管理實戰(zhàn)》步驟詳細,示例豐富,以實戰(zhàn)為主,講解直擊MySQL數(shù)據(jù)庫的本質,特別適合有志于從事數(shù)據(jù)庫開發(fā)與設計的入門級讀者閱讀。本書還可以供開設了數(shù)據(jù)庫課程的高等院校的師生閱讀,以及作為相關IT培訓機構的參考圖書。
MySQL是一種流行的關系型數(shù)據(jù)庫管理系統(tǒng),憑借其體積小、速度快、成本低、以及源碼開放等特點。
本書作者在數(shù)據(jù)庫開發(fā)與管理方面具有多年的從業(yè)經(jīng)驗,并在高校承擔數(shù)據(jù)庫相關課程的教學工作。作者以業(yè)界實際需求和教學要求為立足點,寫作了這本強調實用性的圖書。
本書兼顧了MySQL數(shù)據(jù)庫初學者和進階人員的需要,涵蓋了從數(shù)據(jù)庫基礎知識(如基本管理、權限設置等)到操作(如多表操作、數(shù)據(jù)庫的備份與性能優(yōu)化)在內的所有知識,內容詳實,實例豐富,特別適合各個水平的MySQL開發(fā)人員閱讀,還可以作為高校數(shù)據(jù)庫專業(yè)的參考圖書。
本書內容:
數(shù)據(jù)庫入門
MySQL基本管理
MySQL賬戶權限設置
MySQL數(shù)據(jù)表列的數(shù)據(jù)類型
MySQL表結構的維護
MySQL的索引
MySQL的基本查詢
MySQL數(shù)據(jù)庫的字符集設計
MySQL的增加、刪除和修改操作
MySQL的流程控制及函數(shù)
MySQL的日期與時間
MySQL的分組與統(tǒng)計
MySQL的多表聯(lián)合操作
MySQL工作機制
MySQL存儲引擎
MySQL視圖、存儲程序
MySQL備份與恢復
全解MySQL性能優(yōu)化
甘長春,畢業(yè)于北京交通大學電氣工程及自動化專業(yè),當前供職于中國鐵路北京局集團有限公司。自從參加工作以來,一直致力于計算機應用系統(tǒng)的研發(fā)和建設,先后參與了多個鐵路應用項目的研發(fā)工作,同時,也與多家IT企業(yè)合作開發(fā)項目,主要負責數(shù)據(jù)庫架構設計及應用開發(fā)等工作。從2014年起,一直在天津市大學軟件學院及其他一些大學從事兼職教學工作,所授課程為PHP和Oracle。
孟飛,當前就讀于內蒙古工業(yè)大學自動化專業(yè),在學期間,完成了數(shù)字電子技術和模擬電子技術等大量實驗,參與內蒙古自治區(qū)博士自然科學基金“混合微電網(wǎng)綜合協(xié)調控制與能量分配策略研究”和“風光儲混合分布式發(fā)電系統(tǒng)協(xié)調控制與能量分配策略研究”項目研發(fā)。在致力于C及匯編語言研究的同時,還在自修數(shù)據(jù)庫,包括MySQL、Oracle,尤其在MySQL數(shù)據(jù)庫方面,曾經(jīng)與天津融創(chuàng)軟通科技有限公司合作,負責“學生成績分析與教師考核評價系統(tǒng)”項目的數(shù)據(jù)庫設計、優(yōu)化以及存儲程序開發(fā)等工作。
第 1章 數(shù)據(jù)庫入門 1
1.1 數(shù)據(jù)庫的發(fā)展史 1
1.2 數(shù)據(jù)庫中數(shù)據(jù)存儲形態(tài)(數(shù)據(jù)模型) 1
1.2.1 層次(階層)數(shù)據(jù)庫 2
1.2.2 網(wǎng)狀(網(wǎng)絡)數(shù)據(jù)庫 2
1.2.3 關系數(shù)據(jù)庫 2
1.2.4 面向對象的數(shù)據(jù)庫 2
1.3 為什么應用開發(fā)離不開數(shù)據(jù)庫 3
1.4 SQL介紹 3
1.4.1 SQL簡介 3
1.4.2 SQL的特點 3
1.4.3 SQL的基本語句 4
第 2章 MySQL基本管理 5
2.1 MySQL的客戶端與服務器端 5
2.1.1 MySQL客戶端與服務器端的概念 5
2.1.2 MySQL客戶端 5
2.1.3 Navicat for MySQL的安裝 5
2.1.4 運行Navicat for MySQL 7
2.1.5 Navicat for MySQL的連接與使用 7
2.2 MySQL服務器的啟動與停止 9
2.2.1 SQL的組成部分 9
2.2.2 進入MySQL命令模式 10
2.2.3 創(chuàng)建數(shù)據(jù)庫 10
2.2.4 數(shù)據(jù)庫命名規(guī)范及改變當前數(shù)據(jù)庫 11
2.2.5 刪除數(shù)據(jù)庫 11
2.2.6 創(chuàng)建數(shù)據(jù)表 12
2.3 刪除表 13
2.4 安全復制表 13
2.5 安全修改表 14
2.5.1 新增字段 14
2.5.2 刪除字段 15
2.5.3 修改字段 15
2.5.4 增加主鍵 16
2.6 MySQL命令行中不能輸入中文的解決辦法 16
第3章 MySQL賬戶權限設置 17
3.1 了解MySQL權限系統(tǒng) 17
3.2 MySQL權限操作 19
3.2.1 GRANT命令使用說明 19
3.2.2 權限相關操作 20
3.2.3 權限操作樣本 23
3.3 丟失MySQL ROOT密碼的解決方法 25
第4章 MySQL數(shù)據(jù)庫表列的數(shù)據(jù)類型 29
4.1 數(shù)值類型 29
4.1.1 整數(shù)類型 29
4.1.2 浮點類型 30
4.2 字符串類型 30
4.3 CHAR與VARCHAR類型區(qū)別 30
4.4 列類型屬性ZEROFILL(填充0) 31
4.5 列類型屬性UNSIGEND(無符號)與SIGNED(有符號) 31
4.6 TEXT與BLOB類型的區(qū)別 32
4.7 ENUM與SET類型處理 33
4.8 SET類型的處理方式 33
4.9 網(wǎng)站中常用數(shù)據(jù)類型介紹 34
4.10 DEFAULT(默認)使用技巧 35
第5章 MySQL表結構的維護 36
5.1 表結構的創(chuàng)建 36
5.1.1 MySQL表結構創(chuàng)建語法解釋說明 36
5.1.2 MySQL表結構創(chuàng)建實例 40
5.1.3 MySQL表名修改 43
5.2 表結構的維護 43
5.2.1 MySQL添加字段 44
5.2.2 MySQL刪除字段 44
5.2.3 MySQL調整字段順序 44
5.2.4 MySQL刪除主鍵 45
5.2.5 MySQL增加主鍵 45
5.2.6 MySQL重命名列 45
5.2.7 MySQL改變列類型 46
5.2.8 MySQL添加索引 46
5.2.9 MySQL添加唯一索引 46
5.2.10 MySQL刪除索引 47
5.3 MySQL修改庫、表及列字符集 47
5.3.1 MySQL修改庫字符集 47
5.3.2 MySQL修改表字符集 47
5.3.3 MySQL修改列(字段)字符集 48
5.3.4 MySQL修改字符集的有關注意事項 48
5.3.5 MySQL字符集的查看 48
第6章 MySQL的索引 50
6.1 索引概述 50
6.1.1 關于索引的建議 51
6.1.2 MySQL中使用索引 51
6.2 UNIQUE實際開發(fā)中的使用方法 52
6.3 主鍵(primary key)使用方法 53
6.3.1 主鍵的作用 53
6.3.2 主鍵的創(chuàng)建方法 53
6.4 AUTO_INCREMENT自增使用技巧 54
6.4.1 AUTO_INCREMENT的屬性 54
6.4.2 使用AUTO_INCREMENT時的注意事項 54
6.4.3 關于MySQL的AUTO_INCREMENT問題分析 55
第7章 MySQL的基本查詢 57
7.1 SELECT的語法結構 57
7.1.1 語法結構說明 57
7.1.2 語法解釋 58
7.1.3 關于MySQL迭代 59
7.2 SELECT準備 59
7.3 SELECT、DELETE、UPDATE的WHERE子句 63
7.4 MySQL查詢、刪除、更新WHERE子句AND與OR 65
7.5 MySQL的CONCAT函數(shù) 65
7.6 GROUP_CONCAT ()分組拼接函數(shù) 66
7.6.1 函數(shù)使用 66
7.6.2 關于GROUP_CONCAT函數(shù)返回值長度限制說明 67
7.7 MySQL的DISTINCT使用方法 67
7.8 MySQL的IS NULL與IS NOT NULL使用方法 68
7.9 MySQL的IF()與IFNULL()使用方法 68
7.10 MySQL的ORDER BY子句的使用 70
7.10.1 ORDER BY子句第 一種使用方式 70
7.10.2 ORDER BY 子句第二種使用方式 70
7.11 MySQL的LIMIT關鍵字使用 71
7.12 MySQL的BETWEEN...AND...關鍵字使用 71
7.13 MySQL的IN關鍵字使用 72
7.13.1 IN的普通用法 72
7.13.2 IN的子查詢用法 72
7.14 MySQL的EXISTS關鍵字使用 73
7.15 MySQL查詢SET數(shù)據(jù)類型的方法 74
7.15.1 函數(shù)FIND_IN_SET介紹 74
7.15.2 將函數(shù)FIND_IN_SET運用于SET類型數(shù)據(jù)查詢 74
7.15.3 將函數(shù)FIND_IN_SET運用于排名 74
7.15.4 FIND_IN_SET與邏輯運算操作IN的區(qū)別 76
7.16 MySQL LIKE與NOT LIKE用法 77
7.16.1 LIKE的通配符 77
7.16.2 NOT LIKE 77
7.17 MySQL REGEXP正則的使用 78
7.17.1 REGEXP的運算符 78
7.17.2 REGEXP的通配符 78
7.17.3 REGEXP實例 79
7.18 MySQL RAND隨機函數(shù)使用 80
7.19 終端執(zhí)行SQL的方式 81
第8章 MySQL數(shù)據(jù)庫的字符集設計 83
8.1 MySQL的二進制與非二進制字符串 83
8.1.1 MySQL的二進制字符串及二進制類型 83
8.1.2 MySQL的BINARY、CHAR、VARCHAR的區(qū)別 86
8.2 MySQL字符集設置與常見問題處理 88
8.2.1 基本概念 88
8.2.2 MySQL系統(tǒng)變量 88
8.2.3 MySQL字符集支持的兩個方面 89
8.2.4 MySQL默認字符集的查看 89
8.2.5 MySQL默認字符集的修改 90
8.2.6 MySQL字符集的相互轉換過程 91
8.3 MySQL常用字符集選擇 92
8.4 MySQL字符集與校對規(guī)則 93
8.4.1 簡要說明 93
8.4.2 詳細說明 93
8.5 MySQL各字符集下漢字或字母所占字節(jié)數(shù) 95
8.6 MySQL字符集校對規(guī)則實例詳解 96
8.7 MySQL數(shù)據(jù)庫、表、字段字符集 97
8.7.1 創(chuàng)建數(shù)據(jù)庫、表、表列指定字符集 98
8.7.2 修改數(shù)據(jù)庫、表、表列的字符集 99
8.7.3 查看數(shù)據(jù)庫、表、表列的字符集 100
8.7.4 查看數(shù)據(jù)庫、表、表列的字符集的排序規(guī)則 101
第9章 MySQL的增加、刪除和修改操作 103
9.1 MySQL增加、刪除和修改操作的嚴格模式與寬松模式 103
9.1.1 嚴格與寬松的概念 103
9.1.2 嚴格模式與寬松模式的開啟與關閉 103
9.1.3 嚴格模式與寬松模式舉例 104
9.2 MySQL的增加數(shù)據(jù)INSERT 105
9.2.1 INSERT語法 105
9.2.2 INSERT語法共性說明 106
9.2.3 MySQL INSERT應用舉例 107
9.3 MySQL的更新數(shù)據(jù)UPDATE 108
9.3.1 UPDATE語法 108
9.3.2 UPDATE實際應用舉例 110
9.3.3 UPDATE應用實例總結 113
9.4 MySQL的刪除數(shù)據(jù)DELETE 113
9.5 MySQL的左、右外連接查詢 116
9.5.1 左外連接舉例 116
9.5.2 右外連接舉例 116
第 10章 MySQL的流程控制與函數(shù) 118
10.1 MySQL操作符 118
10.1.1 MySQL算術運算符 118
10.1.2 MySQL比較運算符 118
10.1.3 MySQL邏輯運算符 119
10.1.4 MySQL位運算符 120
10.1.5 MySQL操作符的優(yōu)先級 120
10.1.6 MySQL操作符舉例 121
10.2 MySQL中的Boolean類型 125
10.2.1 Boolean說明 125
10.2.2 Boolean總結 125
10.3 MySQL的COALESCE與GREATEST 126
10.3.1 COALESCE()取非NULL(空)值 126
10.3.2 GREATEST()取最大值 126
10.4 MySQL流程控制語句 127
10.4.1 IF語句 127
10.4.2 CASE語句 129
10.4.3 WHILE語句 133
10.4.4 LOOP語句 134
10.4.5 REPEAT語句 135
10.5 MySQL函數(shù) 136
10.5.1 MySQL流程控制函數(shù) 136
10.5.2 MySQL字符串處理函數(shù) 138
10.5.3 MySQL數(shù)學函數(shù) 147
10.5.4 MySQL日期時間函數(shù) 152
10.5.5 MySQL其他函數(shù) 165
第 11章 MySQL的日期與時間 168
11.1 MySQL的日期與時間類型 168
11.1.1 YEAR類型 168
11.1.2 TIME類型 170
11.1.3 DATA類型 172
11.1.4 DATATIME類型 173
11.1.5 TIMESTAMP類型 175
11.1.6 MySQL的日期選取 176
11.1.7 MySQL選擇日期類型的原則 177
11.1.8 MySQL獲得當前日期時間 177
11.2 MySQL日期與時間函數(shù)實例 177
11.2.1 STR_TO_DATE()函數(shù) 177
11.2.2 DATE_FORMAT()函數(shù) 178
11.2.3 TIME_FORMAT()函數(shù) 179
11.2.4 UNIX_TIMESTAMP()函數(shù) 180
11.2.5 INTERVAL expr TYPE()函數(shù) 181
11.2.6 給日期增加一個時間間隔函數(shù)DATE_ADD() 182
11.2.7 兩個日期相減函數(shù)DATEDIFF() 185
11.2.8 兩個時間相減函數(shù)TIMEDIFF() 185
11.2.9 兩個時間相減函數(shù)TIMESTAMPDIFF() 186
11.2.10 添加時間間隔函數(shù)TIMESTAMPADD() 189
第 12章 MySQL的分組與統(tǒng)計 193
12.1 MySQL COUNT()函數(shù) 193
12.1.1 準備工作 193
12.1.2 COUNT(*|n|空值|字段名) 193
12.1.3 DISTINCT與COUNT連用 194
12.1.4 GROUP BY(多個字段)與COUNT分組計數(shù) 194
12.1.5 CASE WHEN 語句與COUNT連用 195
12.2 MySQL MIN()、MAX()、AVG()和SUM()函數(shù) 196
12.2.1 準備工作 196
12.2.2 MAX()最大值函數(shù) 197
12.2.3 MIN()最小值函數(shù) 198
12.2.4 AVG()求平均函數(shù) 199
12.2.5 SUM()求和函數(shù) 200
12.3 MySQL GROUP BY分組 201
12.3.1 準備工作 201
12.3.2 GROUP BY說明 202
12.3.3 GROUP BY舉例 202
12.4 MySQL HAVING分組統(tǒng)計結果的篩選 204
12.4.1 MySQL HAVING說明 204
12.4.2 MySQL HAVING示例 205
第 13章 MySQL的多表聯(lián)合操作 206
13.1 MySQL多表操作基礎部分 206
13.1.1 數(shù)據(jù)庫的約束 206
13.1.2 多表查詢使用場景 208
13.1.3 一對一、一對多表關系分析 211
13.1.4 多對多表關系分析 212
13.2 MySQL多表操作實例操作 212
13.2.1 笛卡兒積 212
13.2.2 內部連接操作 215
13.2.3 左外連接操作 217
13.2.4 右外連接操作 218
13.2.5 自連接操作 220
13.2.6 多表實例操作 220
第 14章 MySQL工作機制 229
14.1 MySQL多線程分析 229
14.1.1 調度方式實現(xiàn) 229
14.1.2 線程池實現(xiàn) 230
14.1.3 線程池優(yōu)化 233
14.1.4 線程模式控制 233
14.1.5 InnoDB存儲引擎的線程控制機制 234
14.2 MySQL的共享鎖與排他鎖 237
14.3 MySQL的表級鎖、頁級鎖與行級鎖 241
14.3.1 MySQL的表級鎖、頁級鎖與行級鎖的簡要介紹 241
14.3.2 MySQL的表級鎖、頁級鎖與行級鎖總結 245
14.4 MySQL存儲引擎和事務 245
14.5 MySQL的事務處理 246
14.5.1 MySQL事務的ACID 246
14.5.2 MySQL的COMMIT與ROLLBACK 247
14.5.3 MySQL的事務保存點SAVEPOINT 250
14.5.4 MySQL接受用戶請求、SQL語句執(zhí)行過程 257
第 15章 MySQL存儲引擎 258
15.1 MySQL數(shù)據(jù)庫引擎介紹 258
15.2 MySQL存儲引擎的比較 262
15.3 MySQL數(shù)據(jù)文件存放位置 263
15.4 MySQL數(shù)據(jù)庫引擎更換 264
15.5 MySQL數(shù)據(jù)庫引擎添加與拔出 265
15.6 MySQL數(shù)據(jù)庫引擎的應用場景 265
15.6.1 選擇合適的MySQL存儲引擎 265
15.6.2 MySQL存儲引擎應用場景 267
第 16章 MySQL視圖、存儲程序 269
16.1 MySQL視圖 269
16.1.1 為什么使用視圖 269
16.1.2 MySQL創(chuàng)建視圖 270
16.1.3 MySQL查看視圖 274
16.1.4 MySQL刪除視圖 275
16.1.5 MySQL修改視圖 275
16.2 MySQL存儲過程/存儲函數(shù) 275
16.2.1 MySQL變量的定義 275
16.2.2 MySQL SET與DECLARE聲明變量 279
16.2.3 MySQL預處理語句 282
16.2.4 MySQL存儲過程的概念詳解 286
16.2.5 MySQL結束符的設置 292
16.2.6 MySQL存儲過程的BEGIN ... END 293
16.2.7 MySQL IF語句 293
16.2.8 MySQL CASE語句 296
16.2.9 MySQL WHILE語句 300
16.2.10 MySQL LOOP語句 301
16.2.11 MySQL REPEAT語句 303
16.2.12 MySQL ITERATE語句 304
16.2.13 MySQL存儲過程BEGIN...END嵌套 305
16.2.14 MySQL SELECT...INTO語句 306
16.2.15 MySQL存儲函數(shù) 307
16.3 MySQL觸發(fā)器 312
16.3.1 MySQL觸發(fā)器的概念 312
16.3.2 MySQL觸發(fā)器的作用 312
16.3.3 MySQL觸發(fā)器的優(yōu)點 313
16.3.4 MySQL觸發(fā)器的創(chuàng)建 313
16.3.5 MySQL觸發(fā)器的查看與刪除 315
16.3.6 MySQL觸發(fā)器的執(zhí)行順序 315
16.3.7 MySQL觸發(fā)器實例 316
第 17章 MySQL備份與恢復 324
17.1 MySQL數(shù)據(jù)庫備份的多種操作手段 324
17.1.1 數(shù)據(jù)庫備份的重要性 324
17.1.2 mysqldump常用命令 324
17.1.3 mysqldump備份所有數(shù)據(jù)庫 328
17.1.4 mysqldump備份多個數(shù)據(jù)庫 329
17.1.5 MySQL命令恢復mysqldump備份的數(shù)據(jù)庫 330
17.2 MySQL BINLOG日志管理 331
17.2.1 MySQL BINLOG日志詳解 331
17.2.2 MySQL增量備份BINLOG日志 345
第 18章 全解MySQL性能優(yōu)化 347
18.1 MySQL數(shù)據(jù)庫設計良好架構的必要性 347
18.1.1 應用需求數(shù)據(jù)架構的概念 347
18.1.2 MySQL常見數(shù)據(jù)庫服務器配置架構 348
18.1.3 MySQL數(shù)據(jù)庫服務器經(jīng)典配置架構 349
18.2 MySQL字段類型的選擇 350
18.3 MySQL數(shù)據(jù)庫索引 351
18.3.1 MySQL索引的概念 351
18.3.2 MySQL索引的優(yōu)缺點 351
18.3.3 MySQL索引的類型 353
18.3.4 MySQL索引的優(yōu)化 355
18.4 MySQL查詢優(yōu)化 356
18.4.1 MySQL查詢優(yōu)化應注意的問題 356
18.4.2 MySQL EXPLAN詳解 359
18.4.3 MySQL多表查詢優(yōu)化 368
18.4.4 MySQL子查詢分析 373
18.4.5 MySQL JOIN語句優(yōu)化分析 377
18.4.6 MySQL數(shù)據(jù)導入優(yōu)化 378
18.4.7 MySQL INSERT性能提高 379
18.4.8 MySQL GROUP BY分組優(yōu)化 381
18.4.9 MySQL ORDER BY索引優(yōu)化 385
18.4.10 MySQL OR索引分析 387
18.4.11 MySQL STATUS獲得MySQL狀態(tài) 390
18.4.12 MySQL慢查詢SLOW 404
18.4.13 合理使用MySQL鎖機制 407
18.4.14 MySQL優(yōu)先級 411
18.4.15 MySQL MyISAM索引鍵緩存 413
18.4.16 MySQL查詢緩存工作過程 417
18.4.17 MySQL查看查詢緩存 420
18.4.18 MySQL查詢緩存開啟 421
18.4.19 MySQL優(yōu)化MySQL連接數(shù) 427
18.4.20 MySQL數(shù)據(jù)庫損壞的修復 431