系統(tǒng)、完整,一本在手,學習工作都能用的SQL入門教程
·第1部分介紹SQL的基本語法,包括查詢操作、數(shù)據(jù)統(tǒng)計、高級查詢、內置函數(shù)、表的操作、列的屬性等。
·第2部分主要SQL的高級技術,包括多表連接、視圖、索引、存儲過程、存儲函數(shù)、事件、觸發(fā)器、游標、事務。
·第3部分通過經典案例幫助讀者融會貫通。
·第4部分提供了常用的數(shù)據(jù)參考。
為了讓讀者更好地掌握,本書還結合實際工作以及面試,精心挑選了大量高質量的練習題。
此外,本書還專門配套了課件PPT,方便老師教學使用。
·綠色學習網(wǎng)計算機系列教程
·累計超過1000萬人次學習
·基于SQL標準編寫,涵蓋MySQL、SQL Server和Oracle三大主流DBMS語法差異
·零基礎快速上手數(shù)據(jù)庫開發(fā)
·配套PPT講義練習題,培訓自學都好用
莫振杰
全棧工程師,涉獵前端開發(fā)、后端開發(fā)、數(shù)據(jù)庫開發(fā)、數(shù)據(jù)科學等多個領域。擁有一個高人氣的個人網(wǎng)站:綠葉學習網(wǎng),用于分享技術經驗,教程閱讀量累計超過1000萬。
其創(chuàng)作的《Web前端開發(fā)精品課》與《從0到1》系列圖書,憑借清新的風格與嚴謹?shù)闹v解,受到眾多高校師生以及廣大學習者的認可,并且被數(shù)十家高校選為教材使用。此外,他還曾被評為“人民郵電出版社IT圖書2020年影響力作者”。
第 1 部分 基礎語法
第 1章 數(shù)據(jù)庫 2
1.1 數(shù)據(jù)庫是什么 2
1.1.1 數(shù)據(jù)庫簡介 2
1.1.2 DBMS 簡介 3
1.1.3 MySQL 簡介 3
1.2 安裝 MySQL 4
1.3 安裝 Navicat for MySQL 9
1.4 使用 Navicat for MySQL 11
1.4.1 連接 MySQL 11
1.4.2 創(chuàng)建數(shù)據(jù)庫 13
1.4.3 創(chuàng)建表 14
1.4.4 運行代碼 17
1.5 本書說明 18
1.6 本章練習 19
第 2章 語法基礎 20
2.1 SQL 是什么 20
2.1.1 SQL 簡介 20
2.1.2 關鍵字 21
2.1.3 語法規(guī)則 22
2.1.4 命名規(guī)則 23
2.2 數(shù)據(jù)類型 23
2.2.1 數(shù)字 24
2.2.2 字符串 25
2.2.3 日期時間 28
2.2.4 二進制 29
2.3 注釋 30
2.4 本章練習 31
第3章 查詢操作 32
3.1 select 語句簡介 32
3.1.1 select 語句 33
3.1.2 特殊列名 38
3.1.3 換行說明 40
3.2 使用別名:as 41
3.2.1 as 關鍵字 41
3.2.2 特殊別名 44
3.3 條件子句:where 46
3.3.1 比較運算符 47
3.3.2 邏輯運算符 50
3.3.3 其他運算符 53
3.3.4 運算符優(yōu)先級 58
3.4 排序子句:order by 60
3.4.1 order by 子句 60
3.4.2 中文字符串字段排序 64
3.5 限制行數(shù):limit 68
3.5.1 limit 子句 68
3.5.2 深入了解 71
3.6 去重處理:distinct 77
3.7 本章練習 80
目錄 2
第4章 數(shù)據(jù)統(tǒng)計 83
4.1 算術運算 83
4.2 聚合函數(shù) 85
4.2.1 求和:sum() 85
4.2.2 求平均值:avg() 86
4.2.3 求最值:max() 和 min() 87
4.2.4 獲取行數(shù):count() 88
4.2.5 深入了解 90
4.2.6 特別注意 91
4.3 分組子句:group by 93
4.4 指定條件:having 97
4.5 子句順序 99
4.6 本章練習 100
第5章 高級查詢 102
5.1 模糊查詢:like 102
5.1.1 通配符:% 103
5.1.2 通配符:_ 105
5.1.3 轉義通配符 106
5.2 隨機查詢:rand() 108
5.3 子查詢 111
5.3.1 單值子查詢 111
5.3.2 多值子查詢 114
5.3.3 關聯(lián)子查詢 118
5.4 本章練習 121
第6章 內置函數(shù) 123
6.1 內置函數(shù)簡介 123
6.2 數(shù)學函數(shù) 123
6.2.1 求絕對值:abs() 124
6.2.2 求余:mod() 125
6.2.3 四舍五入:round() 127
6.2.4 截取小數(shù):truncate() 127
6.2.5 獲取符號:sign() 128
6.2.6 獲取圓周率:pi() 129
6.2.7 獲取隨機數(shù):rand() 129
6.2.8 向上取整:ceil() 130
6.2.9 向下取整:floor() 131
6.3 字符串函數(shù) 132
6.3.1 獲取長度:length() 133
6.3.2 去除空格:trim() 134
6.3.3 反轉字符串:reverse() 135
6.3.4 重復字符串:repeat() 135
6.3.5 替換字符串:replace() 136
6.3.6 截取字符串:substring() 137
6.3.7 截取開頭結尾:left()、
right() 137
6.3.8 拼接字符串:concat() 138
6.3.9 大小寫轉換:lower()、
upper() 141
6.3.10 填充字符串:lpad()、
rpad() 142
6.4 時間函數(shù) 143
6.4.1 獲取當前日期:curdate() 143
6.4.2 獲取當前時間:curtime() 144
6.4.3 獲取當前日期時間:now() 144
6.4.4 獲取年份:year() 145
6.4.5 獲取月份:month()、
monthname() 146
6.4.6 獲取星期:dayofweek()、
dayname() 147
6.4.7 獲取天數(shù):dayofmonth()、
dayofyear() 148
3 目錄
6.4.8 獲取季度:quarter() 150
6.5 排名函數(shù) 150
6.5.1 rank() 151
6.5.2 row_number() 152
6.5.3 dense_rank() 155
6.6 加密函數(shù) 156
6.6.1 md5() 157
6.6.2 sha1() 157
6.7 系統(tǒng)函數(shù) 158
6.8 其他函數(shù) 159
6.8.1 cast() 159
6.8.2 if() 160
6.8.3 ifnull() 161
6.9 本章練習 162
第7章 數(shù)據(jù)修改 163
7.1 數(shù)據(jù)修改簡介 163
7.2 插入數(shù)據(jù):insert 163
7.2.1 insert 語句 163
7.2.2 特殊情況 166
7.2.3 replace 語句 168
7.3 更新數(shù)據(jù):update 170
7.4 刪除數(shù)據(jù):delete 173
7.4.1 delete 語句 173
7.4.2 深入了解 176
7.5 本章練習 177
第8章 表的操作 179
8.1 表的操作簡介 179
8.2 庫操作 179
8.2.1 創(chuàng)建庫 180
8.2.2 查看庫 181
8.2.3 修改庫 182
8.2.4 刪除庫 182
8.3 創(chuàng)建表 184
8.4 查看表 187
8.4.1 show tables 語句 187
8.4.2 show create table 語句 188
8.4.3 describe 語句 189
8.5 修改表 190
8.5.1 修改表名 190
8.5.2 修改字段 191
8.6 復制表 196
8.6.1 只復制結構 196
8.6.2 同時復制結構和數(shù)據(jù) 197
8.7 刪除表 199
8.8 本章練習 200
第9章 列的屬性 202
9.1 列的屬性簡介 202
9.2 默認值 203
9.3 非空 206
9.4 自動遞增 208
9.5 條件檢查 213
9.6 唯一鍵 214
9.7 主鍵 218
9.8 外鍵 222
9.9 注釋 226
9.10 操作已有表 229
9.10.1 約束型屬性 229
9.10.2 其他屬性 233
9.11 本章練習 236
目錄 4
第 2 部分 高級技術
第 10 章 多表查詢 240
10.1 多表查詢簡介 240
10.2 集合運算 241
10.3 內連接 245
10.3.1 基本語法 246
10.3.2 深入了解 251
10.4 外連接 254
10.4.1 外連接是什么 254
10.4.2 左外連接 255
10.4.3 右外連接 257
10.4.4 完全外連接 258
10.4.5 深入了解 259
10.5 笛卡兒積連接 260
10.6 自連接 261
10.7 本章練習 267
第 11 章 視圖 268
11.1 創(chuàng)建視圖 268
11.1.1 視圖簡介 268
11.1.2 修改數(shù)據(jù) 271
11.2 查看視圖 281
11.3 修改視圖 282
11.3.1 alter view 282
11.3.2 create or replace view 284
11.4 刪除視圖 285
11.5 多表視圖 287
11.6 本章練習 288
第 12 章 索引 290
12.1 索引簡介 290
12.2 創(chuàng)建索引 291
12.3 查看索引 292
12.4 刪除索引 294
12.5 本章練習 295
第 13 章 存儲程序 296
13.1 存儲程序簡介 296
13.2 存儲過程 297
13.2.1 創(chuàng)建存儲過程 297
13.2.2 查看存儲過程 307
13.2.3 修改存儲過程 308
13.2.4 刪除存儲過程 309
13.3 存儲函數(shù) 310
13.3.1 創(chuàng)建存儲函數(shù) 310
13.3.2 查看存儲函數(shù) 313
13.3.3 修改存儲函數(shù) 314
13.3.4 刪除存儲函數(shù) 314
13.3.5 變量的定義 315
13.3.6 常用的語句 317
13.4 觸發(fā)器 323
13.4.1 創(chuàng)建觸發(fā)器 324
13.4.2 查看觸發(fā)器 327
13.4.3 刪除觸發(fā)器 328
13.5 事件 328
13.5.1 創(chuàng)建事件 329
5 目錄
13.5.2 查看事件 331
13.5.3 修改事件 332
13.5.4 刪除事件 335
13.6 本章練習 336
第 14 章 游標 337
14.1 創(chuàng)建游標 337
14.2 本章練習 342
第 15 章 事務 344
15.1 事務是什么 344
15.1.1 事務簡介 344
15.1.2 使用事務 344
15.1.3 自動提交 346
15.1.4 使用范圍 346
15.2 事務的屬性 346
15.3 本章練習 347
第 16 章 安全管理 348
16.1 安全管理簡介 348
16.2 用戶管理 348
16.2.1 創(chuàng)建用戶 350
16.2.2 修改用戶 353
16.2.3 刪除用戶 354
16.3 權限管理 354
16.3.1 授予權限 356
16.3.2 查看權限 359
16.3.3 撤銷權限 359
16.4 本章練習 360
第 17 章 數(shù)據(jù)備份 361
17.1 數(shù)據(jù)備份簡介 361
17.2 庫的備份與還原 361
17.2.1 庫的備份 361
17.2.2 庫的還原 364
17.3 表的備份與還原 365
17.3.1 表的備份 365
17.3.2 表的還原 368
17.4 本章練習 371
第 18 章 其他內容 372
18.1 系統(tǒng)數(shù)據(jù)庫 372
18.2 分頁查詢 373
18.3 表的設計 375
18.4 本章練習 376
第 3 部分 實戰(zhàn)案例
第 19 章 經典案例 378
19.1 案例準備 378
19.2 基礎問題 380
19.3 高級問題 385
目錄 6
后記 406
第 4 部分 附錄
附錄 A 查詢子句 396
附錄 B 列的屬性 397
附錄 C 連接方式 398
附錄 D 內置函數(shù) 399
附錄 E “庫”操作 401
附錄 F “表”操作 402
附錄 G “數(shù)據(jù)”操作 403
附錄 H “視圖”操作 404
附錄 I “索引”操作 405