MySQL 從入門到項目實踐(超值版)
內容描述
本書採取“基礎知識→核心應用→核心技術→高級應用→行業應用→項目實踐”結構和“由淺入深,由深到精”的學習模式進行講解。全書分為6篇29章。首先講解MySQL的安裝與配置、MySQL數據庫的基礎知識、MySQL管理工具的使用、數據表的基本操作、視圖、MySQL的數據類型和運算符、MySQL函數、查詢語句、數據與索引、存儲過程與存儲函數以及觸發器,然後講解數據庫權限管理與恢復、數據庫的複制、日誌管理、結構分佈式應用、查詢緩存、錯誤代碼和消息的使用等,最後在項目實踐環節重點介紹MySQL數據庫在金融銀行、因特網、信息資訊等行業開發中的應用,另外通過論壇管理系統、企業會員管理系統和新聞發布系統的開發實踐展現項目開發的全過程。
編寫本書的目的是從多角度全方位竭力幫助讀者快速掌握軟件開發技能,構建從高校到社會與企業的就職橋樑,讓有志於從事軟件開發的讀者輕鬆步入職場。同時本書還贈送王牌資源庫,由於贈送的資源比較多,我們在本書前言部分對資源包的具體內容、獲取方式以及使用方法等做了詳細說明。
本書適合MySQL入門者,也適合MySQL數據庫管理員以及想全面學習MySQL數據庫技術以提昇實戰技能的人員使用
目錄大綱
第1篇基礎知識
第1章步入MySQL數據庫世界
——Hello MySQL 2
◎ 本章教學微視頻:10個29分鐘 2
1.1 認識MySQL數據庫 2
1.1.1 MySQL系統特性 2
1.1.2 MySQL的版本 3
1.2 下載MySQL軟件 4
1.3 在Windows系統環境下安裝MySQL 6
1.4 在Linux系統環境下安裝MySQL 12
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.2 SQL語言 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.6 MySQL體系結構 29
2.7 就業面試技巧與解析 31
2.7.1 面試技巧與解析(一) 31
2.7.2 面試技巧與解析(二) 31
第3章MySQL常用管理工具的使用 32
◎ 本章教學微視頻:11個40分鐘 32
3.1 phpMyAdmin 32
3.1.1 基本功能介紹 32
3.1.2 管理數據庫 34
3.2 Navicat for MySQL 40
3.2.1 基本功能介紹 40
3.2.2 基本應用 40
3.3 MySQL Workbench 51
3.3.1 MySQL Workbench的概述 51
3.3.2 MySQL Workbench的優勢 51
3.3.3 SQL Development的基本操作 51
3.4 MySQL用戶賬戶管理 57
3.5 MySQL權限系統 60
3.6 MySQL的安全性問題 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.1 MySQL存儲引擎簡介 70
4.4.2 InnoDB存儲引擎 72
4.4.3 MyISAM存儲引擎 72
4.4.4 MEMORY存儲引擎 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.1 MySQL的數據類型 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.2 MySQL常用的運算符 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.1 MySQL函數簡介 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.3 UNIX時間戳函數 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 使用DROP INDEX刪除索引 237
10.7.2 使用ALTER TABLE刪除索引 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.1 MySQL數據庫用戶權限表 270
13.1.1 user表 271
13.1.2 db表和host表 273
13.1.3 tables_priv表和columns_priv表 275
13.1.4 procs_priv表 276
13.2 MySQL數據庫賬戶管理 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.3 MySQL複製的基本模式 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.3 MySQL分佈式應用技術 325
16.3.1 MySQL數據切分 325
16.3.2 MySQL讀寫分離 327
16.3.3 MySQL集群 327
16.4 MySQL分佈式應用案例 327
16.4.1 安裝MySQL Cluster軟件 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.1 MySQL的緩存機制 335
17.1.1 查詢緩存概述 335
17.1.2 MySQL查詢緩存的工作原理 336
17.1.3 查看MySQL的緩存信息 337
17.2 MySQL查詢緩存的配置和維護 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.1 MySQL服務器端錯誤代碼和消息 344
18.2 MySQL客戶端錯誤代碼和消息 346
18.3 就業面試技巧與解析 347
18.3.1 面試技巧與解析(一) 347
18.3.2 面試技巧與解析(二) 348
第4篇高級應用
第19章在C#中實現MySQL數據庫的連接 350
◎ 本章教學微視頻:6個11分鐘 350
19.1 C#概述 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.1 Java概述 359
20.1.1 了解Java語言 359
20.1.2 Java語言的特性 360
20.1.3 Java語言的核心技術 362
20.1.4 Java語言的工作原理 362
20.2 連接MySQL數據庫的步驟 364
20.3 數據庫連接接口 365
20.3.1 常用方法 365
20.3.2 處理元數據 365
20.4 數據庫常用接口 366
20.4.1 Statement接口 366
20.4.2 PreparedStatement接口 366
20.4.3 ResultSet接口 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 了解PHP 370
21.1.1 PHP概述 370
21.1.2 PHP的發展歷程 371
21.1.3 PHP語言的優勢 371
21.2 PHP訪問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 設計表的ER圖 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