MySQL 數據庫應用 (全案例微課版)
內容描述
《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
作者介紹
主要負責網站開發和數據庫運維課程,特別善於講解數據庫的運維技能,善於引導學生學習,讓學校所學的知識和社會的需求很好地銜接,同時具有豐富的教學經驗和開發經驗。曾開發基於某演播廳票務系統,B2C電子商務平台,思邁威科技CRM管理系統和某汽車網大型行業級網站應用。