圖書簡介
本書採取“基礎知識→核心套用→核心技術→高級套用→行業套用→項目實踐”結構和“由淺入深,由深到精”的學習模式進行講解。全書分為6篇29章。首先講解MySQL的安裝與配置、MySQL資料庫的基礎知識、MySQL管理工具的使用、數據表的基本操作、視圖、MySQL的數據類型和運算符、MySQL函式、查詢語句、數據與索引、存儲過程與存儲函式以及觸發器,然後講解資料庫許可權管理與恢復、資料庫的複製、日誌管理、結構分散式套用、查詢快取、錯誤代碼和訊息的使用等,最後在項目實踐環節重點介紹MySQL資料庫在金融銀行、網際網路、信息資訊等行業開發中的套用,另外通過論壇管理系統、企業會員管理系統和新聞發布系統的開發實踐展現項目開發的全過程。
編寫本書的目的是從多角度全方位竭力幫助讀者快速掌握軟體開發技能,構建從高校到社會與企業的就職橋樑,讓有志於從事軟體開發的讀者輕鬆步入職場。同時本書還贈送王牌資源庫,由於贈送的資源比較多,我們在本書前言部分對資源包的具體內容、獲取方式以及使用方法等做了詳細說明。
本書適合MySQL入門者,也適合MySQL資料庫管理員以及想全面學習MySQL資料庫技術以提升實戰技能的人員使用。
目錄
第1篇 基礎知識
第1章 步入MySQL資料庫世界
——HelloMySQL2
◎本章教學微視頻:10個 29分鐘2
1.1認識MySQL資料庫2
1.1.1MySQL系統特性2
1.1.2MySQL的版本3
1.2下載MySQL軟體4
1.3在Windows系統環境下安裝MySQL6
1.4在Linux系統環境下安裝MySQL12
1.4.1下載MySQL的RPM包12
1.4.2安裝MySQL的RPM包12
1.5測試安裝環境14
1.5.1檢查MySQL服務是否啟動14
1.5.2登錄MySQL資料庫15
1.6合理配置環境變數16
1.7卸載MySQL資料庫18
1.8就業面試技巧與解析19
1.8.1面試技巧與解析(一)19
1.8.2面試技巧與解析(二)19
1.8.3面試技巧與解析(三)19
第2章 資料庫初探20
◎本章教學微視頻:14個 38分鐘20
2.1快速認識資料庫20
2.1.1什麼是資料庫20
2.1.2資料庫的原理21
2.1.3數據表22
2.1.4數據類型22
2.1.5主鍵22
2.2資料庫技術構成22
2.2.1資料庫系統22
2.2.2SQL語言23
2.2.3資料庫訪問技術23
2.3關係型數據模型24
2.3.1關係型數據模型的結構24
2.3.2關係型數據模型的操作與完整性25
2.3.3關係型數據模型的存儲結構27
2.4關係型數據模型中的數據依賴與範式27
2.5常見的關係型資料庫管理系統28
2.6MySQL體系結構29
2.7就業面試技巧與解析31
2.7.1面試技巧與解析(一)31
2.7.2面試技巧與解析(二)31
第3章 MySQL常用管理工具的使用32
◎本章教學微視頻:11個 40分鐘32
3.1phpMyAdmin32
3.1.1基本功能介紹32
3.1.2管理資料庫34
3.2NavicatforMySQL40
3.2.1基本功能介紹40
3.2.2基本套用40
3.3MySQLWorkbench51
3.3.1MySQLWorkbench的概述51
3.3.2MySQLWorkbench的優勢51
3.3.3SQLDevelopment的基本操作51
3.4MySQL用戶賬戶管理57
3.5MySQL許可權系統60
3.6MySQL的安全性問題64
3.6.1加強MySQL資料庫的安全64
3.6.2為MySQL管理賬號加上密碼64
3.7就業面試技巧與解析65
3.7.1面試技巧與解析(一)65
3.7.2面試技巧與解析(二)66
第4章 MySQL資料庫的基本操作67
◎本章教學微視頻:11個 21分鐘67
4.1創建資料庫67
4.1.1創建資料庫的語法形式67
4.1.2創建資料庫實例67
4.2查看與選擇資料庫69
4.2.1查看資料庫69
4.2.2選擇資料庫69
4.3刪除資料庫69
4.3.1刪除資料庫的語法形式70
4.3.2刪除資料庫實例70
4.4資料庫存儲引擎70
4.4.1MySQL存儲引擎簡介70
4.4.2InnoDB存儲引擎72
4.4.3MyISAM存儲引擎72
4.4.4MEMORY存儲引擎73
4.4.5存儲引擎的選擇73
4.5就業面試技巧與解析74
4.5.1面試技巧與解析(一)74
4.5.2面試技巧與解析(二)74
第2篇 核心套用
第5章 數據表的基本操作76
◎本章教學微視頻:20個 41分鐘76
5.1創建數據表76
5.1.1創建數據表的語法形式76
5.1.2創建數據表實例77
5.1.3主鍵約束78
5.1.4外鍵約束79
5.1.5非空約束80
5.1.6唯一性約束80
5.1.7默認約束81
5.1.8自增屬性81
5.2查看數據表結構81
5.2.1查看數據表基本結構82
5.2.2查看數據表詳細結構82
5.3修改數據表83
5.3.1修改表名83
5.3.2修改欄位數據類型83
5.3.3修改欄位名84
5.3.4添加欄位85
5.3.5刪除欄位86
5.4數據表的其他操作87
5.4.1修改欄位排序87
5.4.2更改表的存儲引擎88
5.4.3刪除表的外鍵約束89
5.5刪除數據表89
5.5.1刪除沒有被關聯的表90
5.5.2刪除被其他表關聯的主表90
5.6就業面試技巧與解析92
第6章 MySQL視圖93
◎本章教學微視頻:8個 30分鐘93
6.1視圖的概念93
6.2視圖的基本操作94
6.2.1創建視圖94
6.2.2查看視圖基本信息97
6.2.3查看視圖詳細信息98
6.2.4修改視圖99
6.2.5更新視圖101
6.2.6刪除視圖104
6.3視圖的使用105
6.4就業面試技巧與解析107
6.4.1面試技巧與解析(一)107
6.4.2面試技巧與解析(二)108
第7章 MySQL的數據類型和運算符109
◎本章教學微視頻:12個 62分鐘109
7.1MySQL的數據類型109
7.1.1常見的數據類型109
7.1.2整數類型110
7.1.3浮點數類型和定點數類型111
7.1.4日期/時間類型113
7.1.5字元串類型124
7.1.6如何選擇數據類型128
7.2MySQL常用的運算符130
7.2.1運算符概述130
7.2.2算術運算符131
7.2.3比較運算符133
7.2.4邏輯運算符141
7.2.5位運算符145
7.2.6運算符的優先權148
7.3就業面試技巧與解析149
7.3.1面試技巧與解析(一)149
7.3.2面試技巧與解析(二)149
第8章 MySQL函式150
◎本章教學微視頻:32個 54分鐘150
8.1MySQL函式簡介150
8.2數學函式151
8.2.1絕對值函式和圓周率函式152
8.2.2求余函式152
8.2.3平方根函式152
8.2.4獲取整數的函式153
8.2.5獲取隨機數的函式154
8.2.6四捨五入函式154
8.2.7冪運算函式156
8.2.8符號函式156
8.2.9對數運算函式156
8.2.10角度與弧度相互轉換的函式157
8.3字元串函式158
8.3.1計算字元串字元數的函式和
字元串長度的函式159
8.3.2合併字元串的函式160
8.3.3替換字元串的函式161
8.3.4字母大小寫轉換函式161
8.3.5獲取指定長度的字元串的函式162
8.3.6填充字元串的函式163
8.3.7刪除空格的函式163
8.4日期和時間函式164
8.4.1獲取當前日期的函式和獲取
當前時間的函式166
8.4.2獲取當前日期和時間的函式167
8.4.3UNIX時間戳函式167
8.4.4返回UTC日期的函式和返回
UTC時間的函式168
8.4.5獲取月份的函式169
8.4.6獲取星期的函式170
8.4.7獲取星期數的函式170
8.4.8時間和秒鐘轉換的函式172
8.4.9日期和時間的加減運算函式172
8.4.10將日期和時間格式化的函式175
8.5條件判斷函式176
8.6 系統信息函式178
8.7數據加密與解密函式182
8.8其他函式184
8.9就業面試技巧與解析186
8.9.1面試技巧與解析(一)186
8.9.2面試技巧與解析(二)187
第9章 MySQL資料庫查詢語句詳解188
◎本章教學微視頻:16個 42分鐘188
9.1基本查詢語句188
9.1.1查詢簡單數據記錄189
9.1.2查詢表中的所有欄位190
9.1.3查詢經過計算的值191
9.1.4查詢表中的若干記錄192
9.1.5多條件查詢數據195
9.1.6統計函式和分組數據記錄查詢198
9.2排序查詢結果200
9.2.1單欄位排序201
9.2.2多欄位排序201
9.3使用LIMIT限制查詢結果的數量202
9.4連線查詢203
9.4.1內連線查詢203
9.4.2左外連線查詢206
9.4.3右外連線查詢207
9.4.4複合條件連線查詢207
9.5子查詢208
9.6合併查詢結果212
9.7使用正則表達式表示查詢214
9.8就業面試技巧與解析220
9.8.1面試技巧與解析(一)220
9.8.2面試技巧與解析(二)221
第10章 MySQL資料庫的數據與索引操作222
◎本章教學微視頻:14個 28分鐘222
10.1插入數據記錄222
10.1.1插入完整的數據記錄222
10.1.2為表的指定欄位插入數據224
10.1.3同時插入多條數據記錄225
10.1.4插入查詢結果227
10.2修改數據記錄228
10.3刪除數據記錄229
10.4索引概述232
10.5索引的分類232
10.6創建和查看索引233
10.6.1創建和查看普通索引233
10.6.2創建和查看唯一索引235
10.6.3創建和查看多列索引235
10.6.4創建和查看全文索引237
10.7刪除索引237
10.7.1使用DROPINDEX刪除索引237
10.7.2使用ALTERTABLE刪除索引238
10.8就業面試技巧與解析239
10.8.1面試技巧與解析(一)239
10.8.2面試技巧與解析(二)239
第11章 存儲過程與存儲函式240
◎本章教學微視頻:13個 26分鐘240
11.1存儲過程的定義240
11.1.1創建存儲過程240
11.1.2調用存儲過程242
11.1.3查看存儲過程244
11.1.4修改存儲過程246
11.1.5刪除存儲過程247
11.2存儲函式247
11.2.1創建存儲函式247
11.2.2調用存儲函式248
11.2.3查看存儲函式249
11.2.4刪除存儲函式251
11.3深入學習相關知識251
11.3.1變數251
11.3.2流程控制語句252
11.3.3游標的使用255
11.3.4定義條件和處理程式256
11.4就業面試技巧與解析258
11.4.1面試技巧與解析(一)258
11.4.2面試技巧與解析(二)259
11.4.3面試技巧與解析(三)259
11.4.4面試技巧與解析(四)259
第12章 使用MySQL觸發器260
◎本章教學微視頻:6個 13分鐘260
12.1觸發器的概念260
12.2創建觸發器261
12.2.1創建單條執行語句觸發器261
12.2.2創建多條執行語句觸發器263
12.3查看觸發器264
12.3.1通過執行語句查看觸發器264
12.3.2通過查看系統表查看觸發器266
12.4刪除觸發器267
12.5就業面試技巧與解析267
12.5.1面試技巧與解析(一)267
12.5.2面試技巧與解析(二)268
第3篇 核心技術
第13章 MySQL資料庫的許可權管理與恢復270
◎本章教學微視頻:18個 52分鐘270
13.1MySQL資料庫用戶許可權表270
13.1.1user表271
13.1.2db表和host表273
13.1.3tables_priv表和columns_priv表275
13.1.4procs_priv表276
13.2MySQL資料庫賬戶管理276
13.2.1登錄和退出MySQL資料庫277
13.2.2創建普通用戶賬戶278
13.2.3修改root用戶賬戶密碼281
13.2.4修改普通用戶賬戶密碼281
13.2.5刪除用戶賬戶283
13.3用戶許可權管理285
13.3.1對用戶進行授權285
13.3.2查看用戶許可權287
13.3.3收回用戶許可權288
13.3.4重新設定密碼289
13.4為什麼要備份資料庫290
13.5備份資料庫291
13.5.1使用mysqldump備份291
13.5.2使用mysqlhotcopy快速備份294
13.6數據的還原與恢復295
13.6.1使用mysql還原295
13.6.2使用mysqlhotcopy恢復296
13.7就業面試技巧與解析297
13.7.1面試技巧與解析(一)297
13.7.2面試技巧與解析(二)297
第14章 MySQL資料庫的複製298
◎本章教學微視頻:7個 14分鐘298
14.1了解MySQL複製298
14.1.1複製的原理298
14.1.2複製的用途299
14.2配置複製環境299
14.2.1配置複製的主從機器300
14.2.2在Windows環境下實現主從複製300
14.2.3MySQL複製的基本模式305
14.3管理與維護複製306
14.3.1了解伺服器的狀態306
14.3.2伺服器複製出錯的原因306
14.4就業面試技巧與解析309
14.4.1 面試技巧與解析(一)309
14.4.2 面試技巧與解析(二)309
第15章 MySQL的日誌管理310
◎本章教學微視頻:13個 20分鐘310
15.1錯誤日誌310
15.1.1啟用錯誤日誌310
15.1.2查看錯誤日誌311
15.1.3刪除錯誤日誌312
15.2二進制日誌313
15.2.1啟用二進制日誌313
15.2.2查看二進制日誌314
15.2.3刪除二進制日誌317
15.2.4使用二進制日誌還原資料庫318
15.3查詢日誌318
15.3.1啟用查詢日誌318
15.3.2查看查詢日誌319
15.3.3刪除查詢日誌319
15.4慢查詢日誌319
15.4.1啟用慢查詢日誌320
15.4.2查看慢查詢日誌320
15.4.3刪除慢查詢日誌321
15.5就業面試技巧與解析322
15.5.1 面試技巧與解析(一)322
15.5.2 面試技巧與解析(二)322
第16章 利用MySQL構建分散式套用323
◎本章教學微視頻:9個 18分鐘323
16.1了解分散式323
16.1.1分散式的概念323
16.1.2分散式的優勢324
16.2分散式事務的語法324
16.3MySQL分散式套用技術325
16.3.1MySQL數據切分325
16.3.2MySQL讀寫分離327
16.3.3MySQL集群327
16.4MySQL分散式套用案例327
16.4.1安裝MySQLCluster軟體330
16.4.2配置管理節點332
16.4.3配置SQL節點和數據節點333
16.5就業面試技巧與解析334
16.5.1 面試技巧與解析(一)334
16.5.2 面試技巧與解析(二)334
第17章 MySQL查詢快取335
◎本章教學微視頻:7個 18分鐘335
17.1MySQL的快取機制335
17.1.1查詢快取概述335
17.1.2MySQL查詢快取的工作原理336
17.1.3查看MySQL的快取信息337
17.2MySQL查詢快取的配置和維護339
17.2.1配置查詢快取339
17.2.2監控和維護查詢快取340
17.3如何檢查快取命中341
17.4最佳化查詢快取342
17.5就業面試技巧與解析343
17.5.1 面試技巧與解析(一)343
17.5.2 面試技巧與解析(二)343
第18章 MySQL錯誤代碼和訊息的使用344
◎本章教學微視頻:2個 4分鐘344
18.1MySQL伺服器端錯誤代碼和訊息344
18.2MySQL客戶端錯誤代碼和訊息346
18.3就業面試技巧與解析347
18.3.1 面試技巧與解析(一)347
18.3.2 面試技巧與解析(二)348
第4篇 高級套用
第19章 在C#中實現MySQL資料庫的連線350
◎本章教學微視頻:6個 11分鐘350
19.1C#概述350
19.2安裝Connector/NET驅動程式351
19.3使用C#語言連線MySQL資料庫355
19.3.1建立與MySQL資料庫伺服器的
連線355
19.3.2選擇資料庫356
19.3.3執行資料庫的基本操作356
19.4關閉創建的對象357
19.5就業面試技巧與解析358
19.5.1 面試技巧與解析(一)358
19.5.2 面試技巧與解析(二)358
第20章 在Java中實現MySQL資料庫的
連線359
◎本章教學微視頻:10個 16分鐘359
20.1Java概述359
20.1.1了解Java語言359
20.1.2Java語言的特性360
20.1.3Java語言的核心技術362
20.1.4Java語言的工作原理362
20.2連線MySQL資料庫的步驟364
20.3資料庫連線接口365
20.3.1常用方法365
20.3.2處理元數據365
20.4資料庫常用接口366
20.4.1Statement接口366
20.4.2PreparedStatement接口366
20.4.3ResultSet接口367
20.5就業面試技巧與解析368
20.5.1 面試技巧與解析(一)368
20.5.2 面試技巧與解析(二)368
20.5.3 面試技巧與解析(三)368
第21章 在PHP中實現MySQL資料庫的
連線370
◎本章教學微視頻:14個 20分鐘370
21.1了解PHP370
21.1.1PHP概述370
21.1.2PHP的發展歷程371
21.1.3PHP語言的優勢371
21.2PHP訪問MySQL資料庫的流程372
21.3設定PHP的配置檔案372
21.4在PHP中操作MySQL資料庫373
21.4.1通過mysqli類庫訪問MySQL
資料庫373
21.4.2使用mysqli_connect()函式連線
MySQL伺服器375
21.4.3使用mysqli_select_db()函式選擇
資料庫檔案375
21.4.4使用mysqli_query()函式執行
SQL語句376
21.4.5使用mysqli_fetch_assoc()函式從數
組結果集中獲取信息376
21.4.6使用mysqli_fetch_object()函式從
結果中獲取一行作為對象376
21.4.7使用mysqli_num_rows()函式獲取
查詢結果集中的記錄數377
21.4.8使用mysqli_free_result()函式釋放
資源377
21.4.9使用mysqli_close()函式關閉連線377
21.5就業面試技巧與解析377
21.5.1 面試技巧與解析(一)377
21.5.2 面試技巧與解析(二)378
第5篇行業套用
第22章軟體工程師必備素養與技能380
◎本章教學微視頻:10個 13分鐘380
22.1軟體工程師的基本素養380
22.1.1計算機基礎能力381
22.1.2掌握一門程式語言381
22.1.3熟悉計算機數據存儲過程381
22.1.4較強的英語閱讀和寫作能力381
22.1.5軟體開發與測試環境搭建能力381
22.1.6熟悉軟體測試基本理論及任務
分配382
22.2個人素質必修課程382
22.2.1良好的語言表達及溝通能力382
22.2.2過硬的心理素質383
22.2.3責任心與自信心383
22.2.4團隊協作能力383
第23章MySQL在金融銀行行業開發中的
套用384
◎本章教學微視頻:5個 8分鐘384
23.1系統功能描述384
23.2系統功能分析與數據流程385
23.2.1系統功能分析385
23.2.2系統數據流程386
23.3代碼的具體實現386
23.4程式的運行391
第24章MySQL在網際網路行業開發中的套用394
◎本章教學微視頻:5個 9分鐘394
24.1系統功能描述394
24.2系統功能分析與數據流程395
24.2.1系統功能分析395
24.2.2系統數據流程396
24.3代碼的具體實現398
24.4程式的運行408
第25章MySQL在信息資訊行業開發中的
套用411
◎本章教學微視頻:6個 10分鐘411
25.1系統功能描述411
25.2系統功能模組412
25.3資料庫設計和實現413
25.3.1設計表413
25.3.2設計索引417
25.3.3設計視圖417
25.3.4設計觸發器418
第6篇項目實戰
第26章項目實戰統籌階段——項目開發與
規劃420
◎本章教學微視頻:20個 34分鐘420
26.1項目開發流程420
26.1.1策劃階段420
26.1.2需求分析階段421
26.1.3設計階段422
26.1.4開發階段422
26.1.5編碼階段422
26.1.6系統測試階段422
26.1.7系統驗收階段423
26.1.8系統維護階段423
26.2項目開發團隊423
26.2.1項目團隊的組成423
26.2.2高效開發團隊的特徵424
26.3項目的實際運作425
26.4項目規劃常見問題及解決426
26.4.1如何滿足客戶需求426
26.4.2如何控制項目進度427
26.4.3如何控制項目預算427
第27章項目實戰入門階段——論壇管理系統
資料庫開發428
◎本章教學微視頻:7個 11分鐘428
27.1系統功能描述428
27.2系統功能模組429
27.3資料庫設計和實現430
27.3.1設計表的E-R圖430
27.3.2設計表432
27.3.3設計索引435
27.3.4設計視圖435
27.3.5設計觸發器436
第28章項目實戰提高階段——企業會員管理
系統資料庫開發438
◎本章教學微視頻:5個 9分鐘438
28.1系統功能描述438
28.2系統功能分析與數據流程439
28.2.1系統功能分析439
28.2.2系統數據流程440
28.3代碼的具體實現441
28.4程式的運行450
第29章項目實戰高級階段——新聞發布系統
資料庫開發454
◎本章教學微視頻:5個 7分鐘454
29.1系統功能描述454
29.2系統功能分析與數據流程455
29.2.1系統功能分析455
29.2.2系統數據流程456
29.3代碼的具體實現457
29.4程式的運行463