第 1章 了解SQL 1
1.1 數(shù)據庫基礎 1
1.1.1 什么是數(shù)據庫 2
1.1.2 表 2
1.1.3 列和數(shù)據類型 3
1.1.4 行 4
1.1.5 主鍵 4
1.2 什么是SQL 5
1.3 動手實踐 6
1.4 小結 7
第 2章 MySQL簡介 8
2.1 什么是MySQL 8
2.1.1 客戶端—服務器軟件 8
2.1.2 MySQL版本 10
2.2 MySQL工具 10
2.2.1 mysql命令行工具 10
2.2.2 MySQL Workbench 11
2.2.3 其他工具 12
2.3 小結 13
第3章 使用MySQL 14
3.1 使用命令行工具 15
3.1.1 選擇數(shù)據庫 15
3.1.2 了解數(shù)據庫和表 16
3.2 使用MySQL Workbench 19
3.2.1 開始使用 19
3.2.2 MySQL Workbench用戶界面 20
3.2.3 選擇數(shù)據庫 21
3.2.4 學習數(shù)據庫和表 22
3.2.5 執(zhí)行SQL語句 22
3.3 下一步 23
3.4 小結 23
第4章 檢索數(shù)據 24
4.1 SELECT語句 24
4.2 檢索單列 24
4.3 檢索多列 26
4.4 檢索所有列 28
4.5 檢索不同的行 28
4.6 限制結果 30
4.7 使用完全限定的表名 31
4.8 使用注釋 32
4.9 小結 33
4.10 挑戰(zhàn)題 33
第5章 排序檢索數(shù)據 34
5.1 排序數(shù)據 34
5.2 按多列排序 36
5.3 按列位置排序 37
5.4 指定排序方向 38
5.5 小結 40
5.6 挑戰(zhàn)題 40
第6章 過濾數(shù)據 42
6.1 使用WHERE子句 42
6.2 WHERE子句運算符 43
6.2.1 檢查單個值 44
6.2.2 不匹配檢查 45
6.2.3 范圍檢查 46
6.2.4 空值檢查 47
6.3 小結 48
6.4 挑戰(zhàn)題 48
第7章 高級數(shù)據過濾 49
7.1 組合WHERE子句 49
7.1.1 AND運算符 49
7.1.2 OR運算符 50
7.1.3 運算符的優(yōu)先級 51
7.2 IN運算符 52
7.3 NOT運算符 54
7.4 小結 56
7.5 挑戰(zhàn)題 56
第8章 用通配符進行過濾 58
8.1 LIKE運算符 58
8.1.1 百分號(%)通配符 59
8.1.2 下劃線(_)通配符 60
8.2 使用通配符的技巧 61
8.3 小結 62
8.4 挑戰(zhàn)題 62
第9章 用正則表達式進行搜索 63
9.1 正則表達式介紹 63
9.2 使用MySQL正則表達式 64
9.2.1 基本字符匹配 64
9.2.2 進行OR匹配 66
9.2.3 匹配幾個字符之一 67
9.2.4 匹配范圍 68
9.2.5 匹配特殊字符 69
9.2.6 匹配字符類 70
9.2.7 匹配多個實例 71
9.2.8 定位符 73
9.3 小結 74
9.4 挑戰(zhàn)題 74
第 10章 創(chuàng)建計算字段 75
10.1 計算字段 75
10.2 拼接字段 76
10.3 執(zhí)行算術運算 79
10.4 小結 80
10.5 挑戰(zhàn)題 81
第 11章 使用數(shù)據處理函數(shù) 82
11.1 函數(shù) 82
11.2 使用函數(shù) 83
11.2.1 文本處理函數(shù) 83
11.2.2 日期和時間處理函數(shù) 85
11.2.3 數(shù)值處理函數(shù) 89
11.3 小結 89
11.4 挑戰(zhàn)題 90
第 12章 匯總數(shù)據 91
12.1 聚合函數(shù) 91
12.1.1 Avg()函數(shù) 92
12.1.2 Count()函數(shù) 93
12.1.3 Max()函數(shù) 94
12.1.4 Min()函數(shù) 95
12.1.5 Sum()函數(shù) 95
12.2 聚合不同值 96
12.3 組合聚合函數(shù) 97
12.4 小結 98
12.5 挑戰(zhàn)題 98
第 13章 分組數(shù)據 99
13.1 數(shù)據分組 99
13.2 創(chuàng)建分組 100
13.3 過濾分組 101
13.4 分組和排序 103
13.5 分組與數(shù)據匯總相結合 105
13.6 SELECT子句順序 105
13.7 小結 106
13.8 挑戰(zhàn)題 106
第 14章 使用子查詢 108
14.1 子查詢 108
14.2 利用子查詢進行過濾 108
14.3 作為計算字段使用子查詢 111
14.4 小結 114
14.5 挑戰(zhàn)題 114
第 15章 表連接 116
15.1 連接 116
15.1.1 關系表 116
15.1.2 為什么要使用連接 118
15.2 創(chuàng)建連接 118
15.2.1 WHERE子句的重要性 119
15.2.2 內連接 122
15.2.3 連接多張表 123
15.3 小結 125
15.4 挑戰(zhàn)題 126
第 16章 創(chuàng)建高級連接 127
16.1 使用表別名 127
16.2 使用不同類型的連接 128
16.2.1 自連接 128
16.2.2 自然連接 130
16.2.3 外連接 131
16.3 使用帶聚合函數(shù)的連接 132
16.4 使用連接和連接條件 134
16.5 小結 134
16.6 挑戰(zhàn)題 134
第 17章 組合查詢 136
17.1 組合查詢簡介 136
17.2 創(chuàng)建組合查詢 136
17.2.1 使用UNION 137
17.2.2 UNION規(guī)則 138
17.2.3 包含或取消重復的行 139
17.2.4 對組合查詢結果排序 140
17.3 小結 141
17.4 挑戰(zhàn)題 141
第 18章 全文搜索 143
18.1 理解全文搜索 143
18.2 使用全文搜索 144
18.2.1 執(zhí)行全文搜索 144
18.2.2 使用查詢擴展 147
18.2.3 布爾文本搜索 149
18.2.4 全文搜索的使用說明 152
18.3 小結 153
18.4 挑戰(zhàn)題 153
第 19章 插入數(shù)據 154
19.1 數(shù)據插入 154
19.2 插入完整的行 154
19.3 插入多行 158
19.4 插入檢索出的數(shù)據 159
19.5 小結 161
19.6 挑戰(zhàn)題 161
第 20章 更新數(shù)據和刪除數(shù)據 162
20.1 更新數(shù)據 162
20.2 刪除數(shù)據 164
20.3 更新數(shù)據和刪除數(shù)據的指導原則 165
20.4 小結 166
20.5 挑戰(zhàn)題 166
第 21章 創(chuàng)建和操作表 167
21.1 創(chuàng)建表 167
21.1.1 表創(chuàng)建基礎 167
21.1.2 使用NULL值 169
21.1.3 重溫主鍵 170
21.1.4 使用AUTO_INCREMENT 171
21.1.5 指定默認值 172
21.1.6 引擎類型 173
21.2 變更表 175
21.3 刪除表 176
21.4 重命名表 176
21.5 小結 177
21.6 挑戰(zhàn)題 177
第 22章 使用視圖 178
22.1 視圖 178
22.1.1 為什么使用視圖 179
22.1.2 視圖的規(guī)則和限制 179
22.2 視圖的使用和更新 180
22.2.1 利用視圖簡化復雜的連接 180
22.2.2 用視圖重新格式化檢索出的數(shù)據 181
22.2.3 用視圖過濾不想要的數(shù)據 183
22.2.4 使用視圖與計算字段 183
22.2.5 更新視圖 185
22.3 小結 185
22.4 挑戰(zhàn)題 186
第 23章 使用存儲過程 187
23.1 存儲過程 187
23.2 為什么要使用存儲過程 188
23.3 如何使用存儲過程 189
23.3.1 執(zhí)行存儲過程 189
23.3.2 創(chuàng)建存儲過程 189
23.3.3 DELIMITER挑戰(zhàn) 190
23.3.4 刪除存儲過程 191
23.3.5 使用參數(shù) 192
23.3.6 建立智能存儲過程 195
23.3.7 檢查存儲過程 197
23.4 小結 198
23.5 挑戰(zhàn)題 198
第 24章 使用游標 199
24.1 游標 199
24.2 如何使用游標 199
24.2.1 創(chuàng)建游標 200
24.2.2 打開游標和關閉游標 200
24.2.3 使用游標數(shù)據 202
24.3 小結 206
第 25章 使用觸發(fā)器 207
25.1 觸發(fā)器 207
25.2 創(chuàng)建觸發(fā)器 208
25.3 刪除觸發(fā)器 209
25.4 使用不同的觸發(fā)器 209
25.4.1 INSERT觸發(fā)器 209
25.4.2 DELETE觸發(fā)器 210
25.4.3 UPDATE觸發(fā)器 211
25.5 關于觸發(fā)器的進一步介紹 212
25.6 小結 213
第 26章 管理事務處理 214
26.1 事務處理 214
26.2 控制事務處理 216
26.2.1 使用ROLLBACK 216
26.2.2 使用COMMIT 217
26.2.3 使用保存點 218
26.2.4 更改默認的提交行為 219
26.3 小結 219
第 27章 全球化和本地化 220
27.1 字符集和校對順序 220
27.2 使用字符集和校對順序 221
27.3 小結 223
第 28章 安全管理 224
28.1 訪問控制 224
28.2 用戶管理 225
28.2.1 創(chuàng)建用戶賬號 226
28.2.2 刪除用戶賬號 227
28.2.3 設置訪問權限 227
28.2.4 更改密碼 230
28.3 小結 231
第 29章 數(shù)據庫維護 232
29.1 備份數(shù)據 232
29.2 進行數(shù)據庫維護 232
29.3 診斷啟動問題 233
29.4 查看日志文件 234
29.5 小結 235
第30章 性能優(yōu)化 236
30.1 性能優(yōu)化概覽 236
30.2 小結 238
附錄A MySQL入門 239
附錄B 樣例表 241
附錄C MySQL語句的語法 248
附錄D MySQL數(shù)據類型 253
附錄E MySQL關鍵字 258