內容簡介
《MySQL資料庫套用(全案例微課版)》是針對零基礎讀者研發的MySQL入門教材,內容側重案例實訓,本書分為23章,內容包括資料庫與MySQL概述、安裝與配置MySQL環境、MySQL的管理工具、資料庫的基本操作、數據類型與運算符、數據表的基本操作、插入/更新與刪除數據、數據的簡單查詢、數據的複雜查詢、創建和使用視圖、創建和使用索引、創建和使用觸發器、MySQL系統函式、存儲過程與函式、MySQL用戶許可權管理、MySQL日誌檔案管理、數據備份與還原、MySQL的性能最佳化、MySQL的高級特性、PHP操作MySQL資料庫、Python操作MySQL資料庫、新聞發布系統資料庫設計、開發企業會員管理系統。
《MySQL資料庫套用(全案例微課版)》通過精選熱點案例,讓初學者快速掌握MySQL資料庫套用技術。
圖書目錄
第1章 資料庫與MySQL概述 001
1.1 認識資料庫 002
1.1.1 什麼是資料庫 002
1.1.2 資料庫的基本概念 002
1.1.3 常見的資料庫產品 003
1.2 資料庫技術構成 005
1.2.1 資料庫系統 005
1.2.2 SQL語言概述 006
1.2.3 資料庫訪問技術 006
1.3 MySQL資料庫概述 007
1.3.1 MySQL資料庫特點 007
1.3.2 認識資料庫中的對象 007
1.3.3 認識MySQL系統資料庫 009
1.3.4 MySQL資料庫的命名機制 009
1.4 如何學習資料庫 010
1.5 疑難問題解析010
1.6 綜合實戰訓練營 011
第2章 安裝與配置MySQL環境 012
2.1 安裝與配置MySQL 8.0 013
2.1.1 下載MySQL軟體 013
2.1.2 安裝MySQL軟體 014
2.1.3 配置MySQL軟體 017
2.2 啟動並登錄MySQL資料庫 022
2.2.1 啟動MySQL服務 022
2.2.2 登錄MySQL資料庫 023
2.2.3 配置Path變數 025
2.3 執行基本語句026
2.3.1 查看資料庫幫助信息 026
2.3.2 查詢系統時間和日期 027
2.3.3 查看當前資料庫 027
2.4 手動更改MySQL的配置 028
2.5 卸載MySQL資料庫 029
2.6 常見的錯誤代碼 030
2.7 疑難問題解析032
2.8 綜合實戰訓練營 032
第3章 MySQL的管理工具 034
3.1 MySQL自帶的命令工具 035
3.1.1 查看自帶的命令 035
3.1.2 MySQL的常用命令 036
3.2 圖形界面管理工具 037
3.2.1 MySQL Workbench 037
3.2.2 phpMyAdmin 038
3.2.3 Navicat for MySQL 038
3.2.4 SQLyog 038
3.3 MySQL Workbench的套用 039
3.3.1 下載MySQL Workbench 039
3.3.2 安裝MySQL Workbench 039
3.3.3 創建資料庫連線 041
3.3.4 創建與刪除資料庫 043
3.3.5 創建和刪除新的數據表 045
3.3.6 添加與修改數據表記錄 047
3.3.7 查詢表中的數據記錄 047
3.3.8 修改數據表的數據結構 048
3.4 Navicat for MySQL的套用 048
3.4.1 安裝Navicat for MySQL 048
3.4.2 連線MySQL伺服器 050
3.4.3 創建與刪除資料庫 051
3.4.4 創建與刪除數據表 052
3.4.5 添加與修改數據記錄 054
3.4.6 查詢數據表中的數據 054
3.5 疑難問題解析055
3.6 綜合實戰訓練營 055
第4 章 資料庫的基本操作057
4.1 創建資料庫 058
4.1.1 使用create 命令創建 058
4.1.2 使用mysqladmin 命令創建 059
4.2 選擇與查看資料庫 059
4.2.1 從命令提示符視窗中選擇 059
4.2.2 使用命令查看資料庫 060
4.3 刪除資料庫 060
4.3.1 使用DROP 命令刪除 060
4.3.2 使用mysqladmin 命令刪除 061
4.4 資料庫存儲引擎 062
4.4.1 MySQL 存儲引擎簡介062
4.4.2 InnoDB 存儲引擎 064
4.4.3 MyISAM 存儲引擎 065
4.4.4 MEMORY 存儲引擎 065
4.4.5 存儲引擎的選取原則 066
4.5 疑難問題解析066
4.6 綜合實戰訓練營 067
第5 章 數據類型和運算符068
5.1 認識常量與變數 069
5.1.1 認識常量 069
5.1.2 定義變數 070
5.2 MySQL 數據類型 073
5.2.1 整數類型 073
5.2.2 浮點數類型 074
5.2.3 日期與時間類型 076
5.2.4 字元串類型 079
5.2.5 二進制類型 081
5.2.6 複合數據類型 083
5.2.7 選擇數據類型 085
5.3 運算符及優先權 086
5.3.1 算術運算符 086
5.3.2 比較運算符 088
5.3.3 邏輯運算符 094
5.3.4 位運算符 098
5.3.5 運算符的優先權 100
5.4 疑難問題解析100
5.5 綜合實戰訓練營 101
第6 章 數據表的創建與操作 102
6.1 創建數據表 103
6.1.1 創建數據表的語法形式 103
6.1.2 使用CREATE 語句創建數據表 103
6.2 查看數據表的結構 105
6.2.1 查看錶基本結構 105
6.2.2 查看錶詳細結構 106
6.3 數據表的欄位約束 106
6.3.1 添加主鍵約束 106
6.3.2 添加外鍵約束 110
6.3.3 添加默認約束 114
6.3.4 添加唯一性約束 115
6.3.5 添加非空約束 117
6.3.6 添加欄位的自增屬性 118
6.3.7 刪除指定名稱的欄位約束 120
6.4 修改數據表 123
6.4.1 修改數據表的名稱 123
6.4.2 修改欄位數據類型 124
6.4.3 修改數據表的欄位名 125
6.4.4 在數據表中添加欄位 126
6.4.5 修改欄位的排序方式 128
6.4.6 刪除不需要的欄位 130
6.5 刪除數據表 131
6.5.1 刪除沒有被關聯的表 131
6.5.2 刪除被其他表關聯的主表 131
6.6 疑難問題解析133
6.7 綜合實戰訓練營 133
第7 章 插入、更新與刪除數據記錄 135
7.1 向數據表中插入數據 136
7.1.1 給表里的所有欄位插入數據136
7.1.2 向表中添加數據時使用默認值 138
7.1.3 一次插入多條數據 139
7.1.4 通過複製表數據插入數據 140
7.2 更新數據表中的數據 142
7.2.1 更新表中的全部數據 142
7.2.2 更新表中指定單行數據 143
7.2.3 更新表中指定的多行數據 143
7.3 刪除數據表中的數據 144
7.3.1 根據條件清除數據 144
7.3.2 清空表中的數據 145
7.4 疑難問題解析146
7.5 綜合實戰訓練營 146
第8 章 數據的簡單查詢 148
8.1 認識SELECT 語句 149
8.2 數據的簡單查詢 149
8.2.1 查詢表中所有數據 149
8.2.2 查詢表中想要的數據 151
8.2.3 對查詢結果進行計算 151
8.2.4 為結果列使用別名 152
8.2.5 在查詢時去除重複項 152
8.2.6 在查詢結果中給表取別名 153
8.2.7 使用LIMIT 限制查詢數據 153
8.3 使用WHERE 子句進行條件查詢 155
8.3.1 比較查詢條件的數據查詢 155
8.3.2 帶BETWEEN AND 的範圍查詢 156
8.3.3 帶IN 關鍵字的查詢157
8.3.4 帶LIKE 的字元匹配查詢 158
8.3.5 未知空數據的查詢 159
8.3.6 帶AND 的多條件查詢160
8.3.7 帶OR 的多條件查詢 161
8.4 操作查詢的結果 164
8.4.1 對查詢結果進行排序 164
8.4.2 對查詢結果進行分組 165
8.4.3 對分組結果過濾查詢 166
8.5 使用聚合函式進行統計查詢 167
8.5.1 使用SUM() 求列的和167
8.5.2 使用AVG() 求列平均值 168
8.5.3 使用MAX() 求列最大值 169
8.5.4 使用MIN() 求列最小值 169
8.5.5 使用COUNT() 統計170
8.6 疑難問題解析171
8.7 綜合實戰訓練營 171
第9 章 數據的複雜查詢 174
9.1 多表嵌套查詢175
9.1.1 使用比較運算符的嵌套查詢175
9.1.2 使用IN 的嵌套查詢177
9.1.3 使用ANY 的嵌套查詢178
9.1.4 使用ALL 的嵌套查詢179
9.1.5 使用SOME 的子查詢 179
9.1.6 使用EXISTS 的嵌套查詢 180
9.2 多表內連線查詢 181
9.2.1 笛卡兒積查詢 181
9.2.2 內連線的簡單查詢 182
9.2.3 相等內連線的查詢 182
9.2.4 不相等內連線的查詢 183
9.2.5 特殊的內連線查詢 183
9.2.6 帶條件的內連線查詢 184
9.3 多表外連線查詢 184
9.3.1 認識外連線查詢 184
9.3.2 左外連線的查詢 185
9.3.3 右外連線的查詢 186
9.4 使用排序函式查詢 186
9.4.1 ROW_NUMBER() 函式 186
9.4.2 RANK() 函式186
9.4.3 DENSE_RANK() 函式187
9.4.4 NTILE() 函式187
9.5 使用正則表達式查詢 188
9.5.1 查詢以特定字元或字元串開頭的記錄 188
9.5.2 查詢以特定字元或字元串結尾的記錄 189
9.5.3 用符號“.”來代替字元串中的任意一個字元 190
9.5.4 匹配指定字元中的任意一個191
9.5.5 匹配指定字元以外的字元 192
9.5.6 匹配指定字元串 192
9.5.7 用“*”和“+”來匹配多個字元 193
9.5.8 使用{M} 或者{M,N} 來指定字元串連續出現的次數 194
9.6 疑難問題解析195
9.7 綜合實戰訓練營 196
第10 章 創建和使用視圖197
10.1 創建視圖 198
10.1.1 創建視圖的語法規則198
10.1.2 在單表上創建視圖198
10.1.3 在多表上創建視圖200
10.2 修改視圖 201
10.2.1 修改視圖的語法規則201
10.2.2 使用CREATE OR REPLACE VIEW 語句修改視圖 202
10.2.3 使用ALTER 語句修改視圖203
10.3 通過視圖更新數據 204
10.3.1 通過視圖插入數據204
10.3.2 通過視圖修改數據206
10.3.3 通過視圖刪除數據207
10.4 查看視圖信息 207
10.4.1 使用DESCRIBE 語句查看208
10.4.2 使用SHOW TABLE STATUS 語句查看 209
10.4.3 使用SHOW CREATE VIEW 語句查看210
10.4.4 在views 表中查看視圖詳細信息 210
10.5 刪除視圖 211
10.5.1 刪除視圖的語法 211
10.5.2 刪除不用的視圖 211
10.6 疑難問題解析 212
10.7 綜合實戰訓練營 212
第11 章 創建和使用索引 215
11.1 了解索引 216
11.1.1 索引的含義和特點216
11.1.2 索引的分類 216
11.1.3 索引的設計原則 217
11.2 創建數據表時創建索引 217
11.2.1 創建普通索引 218
11.2.2 創建唯一索引 219
11.2.3 創建全文索引 220
11.2.4 創建單列索引 221
11.2.5 創建多列索引 222
11.2.6 創建空間索引 223
11.3 在已經存在的表上創建索引 224
11.3.1 創建普通索引 225
11.3.2 創建唯一索引 225
11.3.3 創建全文索引 226
11.3.4 創建單列索引 227
11.3.5 創建多列索引 227
11.3.6 創建空間索引 228
11.4 使用ALTER TABLE 語句創建索引 229
11.4.1 創建普通索引 229
11.4.2 創建唯一索引 231
11.4.3 創建全文索引 231
11.4.4 創建單列索引 232
11.4.5 創建多列索引 232
11.4.6 創建空間索引 232
11.5 刪除索引 232
11.5.1 使用ALTER TABLE 語句刪除索引 233
11.5.2 使用DROP INDEX 語句刪除索引 234
11.6 疑難問題解析 235
11.7 綜合實戰訓練營 235
第12 章 創建和使用觸發器 237
12.1 了解觸發器 238
12.2 創建觸發器 238
12.2.1 創建一條執行語句的觸發器 238
12.2.2 創建多條執行語句的觸發器 240
12.3 查看觸發器 242
12.3.1 使用SHOW TRIGGERS 語句查看 242
12.3.2 使用INFORMATION_SCHEMA查看243
12.4 刪除觸發器244
12.5 疑難問題解析 245
12.6 綜合實戰訓練營 245
第13 章 MySQL 系統函式 247
13.1 數學函式 248
13.1.1 求絕對值函式ABS(x)248
13.1.2 返回圓周率函式PI() 249
13.1.3 求余函式MOD(x,y) 249
13.1.4 求平方根函式SQRT(x) 249
13.1.5 獲取四捨五入後的值249
13.1.6 冪運算函式 250
13.1.7 對數運算函式LOG(x) 和LOG10(x) 251
13.1.8 角度與弧度的相互轉換 252
13.1.9 符號函式SIGN(x) 252
13.1.10 正弦函式和餘弦函式 252
13.1.11 正切函式與餘切函式253
13.1.12 獲取隨機數函式 254
13.1.13 獲取整數函式 254
13.2 字元串函式 255
13.2.1 計算字元串的字元個數 256
13.2.2 計算字元串的長度256
13.2.3 合併字元串函式 256
13.2.4 替換字元串函式 257
13.2.5 字母大小寫轉換函式258
13.2.6 獲取指定長度的字元串的函式 259
13.2.7 填充字元串的函式259
13.2.8 刪除字元串空格的函式 260
13.2.9 刪除指定字元串的函式 260
13.2.10 重複生成字元串的函式 261
13.2.11 空格函式和替換函式261
13.2.12 比較字元串大小的函式 262
13.2.13 獲取字元串子串的函式 262
13.2.14 匹配字元串子串開始位置的函式 263
13.2.15 字元串逆序函式REVERSE(s) 264
13.2.16 返回指定位置字元串的函式 264
13.2.17 返回指定字元串位置的函式 264
13.2.18 返回字元串子串位置的函式 265
13.2.19 選取字元串函式 265
13.3 日期和時間函式 266
13.3.1 獲取當前日期和當前時間 267
13.3.2 獲取當前日期和時間268
13.3.3 獲取UNIX 格式的時間 268
13.3.4 返回UTC 日期和返回UTC 時間 269
13.3.5 獲取指定日期的月份269
13.3.6 獲取指定日期的星期數 270
13.3.7 獲取指定日期在一年中的星期周數 270
13.3.8 時間和秒鐘的相互轉換 271
13.3.9 日期和時間的加減運算 272
13.3.10 將日期和時間進行格式化274
13.4 其他系統函式 276
13.4.1 條件判斷函式 276
13.4.2 系統信息函式 278
13.4.3 數據加密函式 282
13.5 疑難問題解析 283
13.6 綜合實戰訓練營 283
第14 章 存儲過程與函式284
14.1 創建存儲過程與函式 285
14.1.1 創建存儲過程的語法格式 285
14.1.2 創建不帶參數的存儲過程 286
14.1.3 創建帶有參數的存儲過程 286
14.1.4 創建存儲函式 287
14.2 調用存儲過程與函式 288
14.2.1 調用不帶參數的存儲過程 288
14.2.2 調用帶有參數的存儲過程 288
14.2.3 調用存儲函式 288
14.3 修改存儲過程與函式 289
14.3.1 修改存儲過程 289
14.3.2 修改存儲函式 290
14.4 查看存儲過程與函式 291
14.4.1 查看存儲過程的狀態292
14.4.2 查看存儲過程的信息292
14.4.3 通過表查看存儲過程293
14.4.4 查看存儲函式的信息294
14.5 刪除存儲過程 296
14.6 刪除存儲函式 297
14.7 疑難問題解析 297
14.8 綜合實戰訓練營 298
第15 章 MySQL 用戶許可權管理 299
15.1 認識許可權表 300
15.1.1 user 表300
15.1.2 db 表和host 表 302
15.1.3 tables_priv 表304
15.1.4 columns_priv 表 305
15.1.5 procs_priv 表305
15.2 用戶賬戶管理 306
15.2.1 登錄MySQL 伺服器 306
15.2.2 新建普通用戶 307
15.2.3 刪除普通用戶 310
15.2.4 root 用戶修改自己的密碼 312
15.2.5 root 用戶修改普通用戶密碼 313
15.2.6 普通用戶修改密碼315
15.3 用戶許可權的管理 315
15.3.1 認識用戶許可權 315
15.3.2 授予用戶許可權 316
15.3.3 查看用戶許可權 317
15.3.4 收回用戶許可權 318
15.4 用戶角色的管理 319
15.4.1 創建角色 319
15.4.2 給角色授權 319
15.4.3 刪除角色 320
15.5 疑難問題解析 321
15.6 綜合實戰訓練營 321
第16 章 MySQL 日誌檔案管理 323
16.1 認識日誌 324
16.2 錯誤日誌 324
16.2.1 啟動錯誤日誌 324
16.2.2 查看錯誤日誌 324
16.2.3 刪除錯誤日誌 325
16.3 二進制日誌 326
16.3.1 啟動二進制日誌 326
16.3.2 查看二進制日誌 327
16.3.3 刪除二進制日誌 329
16.4 通用查詢日誌 330
16.4.1 啟動通用查詢日誌330
16.4.2 查看通用查詢日誌331
16.4.3 刪除通用查詢日誌332
16.5 慢查詢日誌 332
16.5.1 啟動慢查詢日誌 332
16.5.2 查看慢查詢日誌 333
16.5.3 刪除慢查詢日誌 333
16.6 疑難問題解析 334
16.7 綜合實戰訓練營 334
第17 章 數據備份與還原336
17.1 數據的備份 337
17.1.1 使用MySQLdump 命令備份 337
17.1.2 使用MySQLhotcopy 工具快速備份 343
17.1.3 直接複製整個資料庫目錄 344
17.2 數據的還原 344
17.2.1 使用MySQL 命令還原 344
17.2.2 使用MySQLhotcopy 快速還原 346
17.2.3 直接複製到資料庫目錄 346
17.3 資料庫的遷移 347
17.3.1 相同版本之間的遷移347
17.3.2 不同版本之間的遷移347
17.3.3 不同資料庫之間的遷移 347
17.4 數據表的導出和導入 348
17.4.1 使用MySQL 命令導出 348
17.4.2 使用MySQLdump 命令導出 351
17.4.3 使用SELECT…INTO OUTFILE 導出 354
17.4.4 使用LOAD DATA INFILE 導入 357
17.4.5 使用MySQLimport 命令導入 359
17.5 疑難問題解析 361
17.6 綜合實戰訓練營 361
第18 章 MySQL 的性能最佳化 363
18.1 認識MySQL 性能最佳化 364
18.2 查詢速度的最佳化 365
18.2.1 分析查詢語句 365
18.2.2 使用索引最佳化查詢368
18.2.3 最佳化子查詢 369
18.3 資料庫結構的最佳化 369
18.3.1 通過分解表來最佳化369
18.3.2 通過中間表來最佳化371
18.3.3 通過冗餘欄位最佳化372
18.3.4 最佳化插入記錄的速度373
18.3.5 分析表、檢查表和最佳化表 374
18.4 MySQL 伺服器的最佳化 376
18.4.1 伺服器硬體的最佳化376
18.4.2 MySQL 參數的最佳化 376
18.5 疑難問題解析 377
18.6 綜合實戰訓練營 377
第19 章 MySQL 的高級特性 379
19.1 MySQL 查詢快取 380
19.1.1 認識查詢快取 380
19.1.2 監控和維護查詢快取384
19.1.3 檢查快取命中 386
19.1.4 最佳化查詢快取 386
19.2 合併表和分區表 387
19.2.1 合併表387
19.2.2 分區表389
19.3 MySQL 的事務控制 395
19.4 MySQL 中的分散式事務 399
19.4.1 了解分散式事務的原理 399
19.4.2 分散式事務的語法399
19.5 疑難問題解析 400
19.6 綜合實戰訓練營 401
第20 章 PHP 操作MySQL 資料庫402
20.1 PHP 訪問MySQL 資料庫的一般步驟 403
20.2 連線資料庫前的準備工作 403
20.3 訪問資料庫 404
20.3.1 連線MySQL 伺服器 404
20.3.2 更改默認的資料庫405
20.3.3 關閉MySQL 連線 406
20.3.4 執行SQL 語句 406
20.3.5 獲取查詢結果集中的記錄數 407
20.3.6 獲取結果集中的一條記錄作為枚舉數組408
20.3.7 獲取結果集中的記錄作為關聯數組 409
20.3.8 獲取結果集中的記錄作為對象 409
20.3.9 使用mysqli_fetch_array() 函式獲取結果集記錄 410
20.3.10 使用mysqli_free_result() 函式釋放資源 410
20.4 通過mysqli 類庫訪問MySQL 資料庫 411
20.5 使用insert 語句動態添加用戶信息 412
20.6 使用select 語句查詢數據信息 414
20.7 疑難問題解析 415
第21 章 Python 操作MySQL 資料庫417
21.1 安裝PyMySQL 418
21.2 操作MySQL 資料庫 419
21.2.1 連線MySQL 資料庫 419
21.2.2 創建數據表 420
21.2.3 插入數據 420
21.2.4 查詢數據 421
21.2.5 更新數據 422
21.2.6 刪除數據 422
21.3 疑難問題解析 423
第22 章 新聞發布系統資料庫設計 424
22.1 系統概述 425
22.2 系統功能 425
22.3 資料庫設計和實現 426
22.3.1 設計表426
22.3.2 設計索引 430
22.3.3 設計視圖 431
22.3.4 設計觸發器 431
22.4 本章小結 432
第23 章 開發企業會員管理系統433
23.1 系統功能描述 434
23.2 系統功能分析 434
23.2.1 系統功能結構 434
23.2.2 數據流程和資料庫435
23.3 代碼的具體實現 436
23.3.1 用戶的登錄界面 437
23.3.2 資料庫連線頁面 437
23.3.3 登錄驗證頁面 437
23.3.4 系統主界面 438
23.3.5 會員添加頁面 439
23.3.6 會員修改頁面 441
23.3.7 用戶刪除頁面 444
23.3.8 會員詳情頁面 444
23.4 程式運行 446
23.5 本章小結 448