第 1 部分 基礎語法
第 1章 數據庫簡介 2
1.1 數據庫是什么 2
1.1.1 DBMS 簡介 3
1.1.2 MySQL 簡介 3
1.2 安裝 MySQL 4
1.3 安裝 Navicat for MySQL 9
1.4 使用 Navicat for MySQL 10
1.4.1 連接 MySQL 10
1.4.2 創(chuàng)建數據庫 12
1.4.3 創(chuàng)建表 14
1.4.4 運行代碼 16
1.5 教程說明 17
1.6 本章練習 18
第 2章 SQL 語法 19
2.1 SQL 是什么 19
2.1.1 SQL 簡介 19
2.1.2 關鍵字 20
2.1.3 語法規(guī)則 21
2.1.4 命名規(guī)則 22
2.2 數據類型 22
2.2.1 數值 23
2.2.2 字符串 24
2.2.3 日期時間 27
2.2.4 二進制 28
2.3 注釋 29
2.4 本章練習 29
第3章 查詢操作 31
3.1 select 語句簡介 31
3.1.1 select 語句 32
3.1.2 特殊列名 37
3.1.3 換行說明 38
3.2 使用別名:as 39
3.2.1 as 關鍵字 39
3.2.2 特殊別名 42
3.3 條件子句:where 44
3.3.1 比較運算符 45
3.3.2 邏輯運算符 47
3.3.3 其他運算符 50
3.3.4 運算符優(yōu)先級 55
3.4 排序子句:order by 58
3.4.1 order by 子句 58
3.4.2 中文排序 62
3.4.3 特別注意 63
3.5 限制行數:limit 65
3.5.1 limit 子句 65
3.5.2 深入了解 68
3.6 去重處理:distinct 69
3.7 本章練習 73
目錄 2
第4章 數據統(tǒng)計 76
4.1 算術運算 76
4.2 聚合函數 78
4.2.1 求和:sum() 78
4.2.2 求平均值:avg() 79
4.2.3 求最值:max() 和 min() 80
4.2.4 獲取行數:count() 81
4.2.5 深入了解 83
4.2.6 特別注意 84
4.3 分組子句:group by 86
4.3.1 group by 子句 86
4.3.2 group_concat() 函數 89
4.4 指定條件:having 90
4.5 子句順序 92
4.6 本章練習 93
第5章 高級查詢 95
5.1 模糊查詢:like 95
5.1.1 通配符:% 96
5.1.2 通配符:_ 98
5.1.3 轉義通配符 99
5.2 隨機查詢:rand() 100
5.3 子查詢 102
5.3.1 單值子查詢 102
5.3.2 多值子查詢 105
5.3.3 關聯子查詢 109
5.4 本章練習 112
第6章 內置函數 114
6.1 內置函數簡介 114
6.2 數學函數 115
6.2.1 求絕對值:abs() 116
6.2.2 求余:mod() 117
6.2.3 四舍五入:round() 118
6.2.4 截取小數:truncate() 118
6.2.5 獲取符號:sign() 119
6.2.6 獲取圓周率:pi() 120
6.2.7 獲取隨機數:rand() 120
6.2.8 向上取整:ceil() 121
6.2.9 向下取整:floor() 122
6.3 字符串函數 123
6.3.1 獲取長度:length() 124
6.3.2 去除空格:trim() 125
6.3.3 反轉字符串:reverse() 126
6.3.4 重復字符串:repeat() 126
6.3.5 替換字符串:replace() 127
6.3.6 截取字符串:substring() 128
6.3.7 截取開頭結尾:left() 和
right() 129
6.3.8 拼接字符串:concat() 130
6.3.9 轉換大小寫:lower() 和
upper() 132
6.3.10 填充字符串:lpad() 和
rpad() 133
6.4 時間函數 134
6.4.1 獲取當前日期:curdate() 134
6.4.2 獲取當前時間:curtime() 135
6.4.3 獲取當前日期和時間:now() 135
6.4.4 獲取年份:year() 136
6.4.5 獲取月份:month() 和
monthname() 137
3 目錄
6.4.6 獲取星期:dayofweek() 和
dayname() 138
6.4.7 獲取天數:dayofmonth() 和
dayofyear() 139
6.4.8 獲取季度:quarter() 140
6.5 排名函數 141
6.5.1 rank() 141
6.5.2 row_number() 143
6.5.3 dense_rank() 145
6.6 加密函數 147
6.6.1 md5() 147
6.6.2 sha1() 148
6.7 系統(tǒng)函數 149
6.8 其他函數 150
6.8.1 cast() 150
6.8.2 if() 151
6.8.3 ifnull() 152
6.9 本章練習 153
第7章 數據修改 154
7.1 數據修改簡介 154
7.2 插入數據:insert 154
7.2.1 insert 語句 154
7.2.2 特殊情況 156
7.2.3 replace 語句 158
7.3 更新數據:update 159
7.4 刪除數據:delete 163
7.4.1 delete 語句 163
7.4.2 深入了解 165
7.5 本章練習 167
第8章 表的操作 169
8.1 表的操作簡介 169
8.2 數據庫的操作 169
8.2.1 創(chuàng)建數據庫 170
8.2.2 查看數據庫 171
8.2.3 修改數據庫 172
8.2.4 刪除數據庫 172
8.3 創(chuàng)建表 173
8.4 查看表 176
8.4.1 show tables 語句 176
8.4.2 show create table 語句 177
8.4.3 describe 語句 178
8.5 修改表 179
8.5.1 修改表名 179
8.5.2 修改字段 181
8.6 復制表 185
8.6.1 只復制結構 185
8.6.2 同時復制結構和數據 186
8.7 刪除表 187
8.8 本章練習 188
第9章 列的屬性 190
9.1 列的屬性簡介 190
9.2 默認值 191
9.3 非空 194
9.4 自動遞增 196
9.5 條件檢查 200
9.6 唯一鍵 201
9.7 主鍵 205
9.8 外鍵 209
目錄 4
9.9 注釋 214
9.10 操作已有的表 216
9.10.1 約束型屬性 217
9.10.2 其他屬性 220
9.11 本章練習 223
第 2 部分 高級技術
第 10 章 多表查詢 228
10.1 多表查詢簡介 228
10.2 集合運算 229
10.3 內連接 232
10.3.1 基本語法 234
10.3.2 深入了解 238
10.4 外連接 241
10.4.1 外連接是什么 241
10.4.2 左外連接 242
10.4.3 右外連接 243
10.4.4 完全外連接 244
10.4.5 深入了解 245
10.5 笛卡兒積連接 246
10.6 自連接 248
10.7 本章練習 253
第 11 章 視圖 254
11.1 創(chuàng)建視圖 254
11.1.1 視圖簡介 254
11.1.2 修改數據 258
11.2 查看視圖 267
11.3 修改視圖 268
11.3.1 alter view 269
11.3.2 create or replace view 270
11.4 刪除視圖 271
11.5 多表視圖 273
11.6 本章練習 274
第 12 章 索引 276
12.1 索引簡介 276
12.2 創(chuàng)建索引 277
12.3 查看索引 278
12.4 刪除索引 280
12.5 本章練習 280
第 13 章 存儲程序 281
13.1 存儲程序簡介 281
13.2 存儲過程 281
13.2.1 創(chuàng)建存儲過程 282
13.2.2 查看存儲過程 292
13.2.3 修改存儲過程 293
13.2.4 刪除存儲過程 293
13.3 存儲函數 294
13.3.1 創(chuàng)建存儲函數 295
13.3.2 查看存儲函數 297
13.3.3 修改存儲函數 298
13.3.4 刪除存儲函數 299
13.3.5 變量的定義 299
13.3.6 常用的語句 302
13.4 觸發(fā)器 307
13.4.1 創(chuàng)建觸發(fā)器 308
5 目錄
13.4.2 查看觸發(fā)器 312
13.4.3 刪除觸發(fā)器 312
13.5 事件 313
13.5.1 創(chuàng)建事件 313
13.5.2 查看事件 316
13.5.3 修改事件 317
13.5.4 刪除事件 319
13.6 本章練習 320
第 14 章 游標 322
14.1 創(chuàng)建游標 322
14.2 本章練習 327
第 15 章 事務 329
15.1 事務是什么 329
15.1.1 事務簡介 329
15.1.2 使用事務 329
15.1.3 自動提交 331
15.1.4 使用范圍 331
15.2 事務的屬性 331
15.3 本章練習 332
第 16 章 安全管理 333
16.1 安全管理簡介 333
16.2 用戶管理 333
16.2.1 創(chuàng)建用戶 335
16.2.2 修改用戶 337
16.2.3 刪除用戶 338
16.3 權限管理 339
16.3.1 授予權限 341
16.3.2 查看權限 344
16.3.3 撤銷權限 344
16.4 本章練習 345
第 17 章 數據備份 346
17.1 數據備份簡介 346
17.2 數據庫的備份與還原 347
17.2.1 數據庫的備份 347
17.2.2 數據庫的還原 349
17.3 表的備份與還原 351
17.3.1 表的備份 351
17.3.2 表的還原 354
17.4 本章練習 357
第 18 章 其他內容 358
18.1 系統(tǒng)數據庫 358
18.2 分頁查詢 359
18.3 表的設計 361
18.4 本章練習 362
第 3 部分 實戰(zhàn)案例
第 19 章 經典案例 364
19.1 案例準備 364
19.2 基礎問題 366
19.3 高級問題 371
目錄 6
第 4 部分 附錄
附錄 A 查詢子句 382
附錄 B 列的屬性 383
附錄 C 連接方式 383
附錄 D 內置函數 384
附錄 E “庫”操作 386
附錄 F “表”操作 387
附錄 G “數據”操作 388
附錄 H “視圖”操作 388
附錄 I “索引”操作 389
后記 390