SQL語言從入門到精通

SQL語言從入門到精通

《SQL語言從入門到精通》是2023年清華大學出版社出版的圖書,作者是明日科技。

基本介紹

  • 中文名:SQL語言從入門到精通
  • 作者:明日科技
  • 出版時間:2023年6月1日
  • 出版社:清華大學出版社
  • ISBN:9787302634614 
  • 定價:89.80 元
內容簡介,圖書目錄,

內容簡介

《SQL語言從入門到精通》從初學者角度出發,通過通俗易懂的語言、豐富多彩的實例,詳細介紹了在開發中使用SQL語言必須掌握的技術。全書分為3篇共18章,內容包括SQL語言基礎、SQL查詢基礎、複雜查詢、數據排序、SQL函式的使用、分組統計、子查詢、多表查詢、添加數據、修改和刪除數據、視圖、存儲過程、觸發器、游標、索引、事務、管理資料庫與數據表、資料庫安全。所有知識都結合具體實例進行介紹,涉及的程式代碼給出了詳細的注釋,讀者可以輕鬆領會SQL語言的精髓,快速提高開發技能。

圖書目錄

目 錄
第1篇 SQL語言入門
第1章 SQL語言基礎 2
視頻講解:28分鐘
1.1 SQL語言概述 2
1.1.1 SQL概述 2
1.1.2 SQL語言的組成 3
1.1.3 SQL語句結構 4
1.1.4 SQL語句分類 5
1.2 數據類型 5
1.2.1 整數數據類型 5
1.2.2 浮點數據類型 6
1.2.3 字元數據類型 7
1.2.4 日期和時間數據類型 8
1.2.5 貨幣數據類型 9
1.2.6 二進制數據類型 9
1.2.7 文本和圖像數據類型 9
1.2.8 用戶自定義數據類型 10
1.3 常量 11
1.3.1 數值常量 11
1.3.2 字元串常量 12
1.3.3 日期和時間常量 12
1.4 變數 12
1.4.1 局部變數 12
1.4.2 全局變數 14
1.5 運算符 16
1.5.1 算術運算符 16
1.5.2 賦值運算符 17
1.5.3 邏輯運算符 18
1.6 實踐與練習 19
第2章 SQL查詢基礎 20
視頻講解:48分鐘
2.1 簡單查詢 20
2.1.1 SELECT語句基本結構 21
2.1.2 單列查詢 21
2.1.3 多列查詢 22
2.1.4 查詢所有的列 22
2.1.5 別名的套用 23
2.1.6 使用TOP查詢前若干行 25
2.1.7 刪除重複列 26
2.2 計算列查詢 28
2.2.1 連線列值 28
2.2.2 查詢中使用計算列 28
2.2.3 查詢中使用表達式 29
2.3 條件查詢 30
2.3.1 WHERE子句 31
2.3.2 使用“=”查詢數據 31
2.3.3 使用“>”查詢數據 31
2.3.4 使用“<”查詢數據 32
2.3.5 使用“>=”查詢數據 32
2.3.6 使用“<=”查詢數據 33
2.3.7 使用“!>”查詢數據 33
2.3.8 使用“!<”查詢數據 33
2.3.9 使用“!=”和“<>”查詢數據 34
2.4 範圍查詢 34
2.4.1 查詢兩數之間的數據 35
2.4.2 查詢兩個日期之間的數據 35
2.4.3 在BETWEEN中使用日期函式 35
2.4.4 查詢不在兩數之間的數據 36
2.5 邏輯查詢 37
2.5.1 使用AND運算符 37
2.5.2 使用OR運算符 37
2.5.3 使用NOT運算符 38
2.5.4 使用OR、AND和NOT運算符 39
2.6 實踐與練習 39
第3章 複雜查詢 40
視頻講解:73分鐘
3.1 模糊查詢 40
3.1.1 LIKE謂詞 40
3.1.2 “%”通配符的使用 41
3.1.3 “_”通配符的使用 42
3.1.4 “[ ]”通配符的使用 42
3.1.5 “[^]”通配符的使用 43
3.1.6 ESCAPE轉義字元 44
3.2 IN運算符 44
3.2.1 使用IN查詢數據 45
3.2.2 在IN中使用算術表達式 45
3.2.3 在IN中使用列名 46
3.2.4 使用NOT IN查詢數據 46
3.2.5 使用TOP和NOT IN查詢數據 47
3.3 行查詢 48
3.3.1 隨機查詢 48
3.3.2 結果集中添加行號 48
3.3.3 隔行查詢 49
3.3.4 分頁查詢 50
3.4 空值判斷 51
3.4.1 查詢空值 51
3.4.2 查詢非空值 52
3.4.3 對空值進行處理 52
3.5 對結果集操作 53
3.5.1 利用結果集創建永久表 53
3.5.2 利用結果集創建臨時表 54
3.6 複雜條件查詢 54
3.6.1 查詢表中的第n行數據 54
3.6.2 查詢考試成績最高的分數 55
3.6.3 查詢各部門人數 56
3.6.4 查詢各部門基本工資最低的員工 56
3.7 實踐與練習 57
第4章 數據排序 58
視頻講解:63分鐘
4.1 數值數據排序 58
4.1.1 按升序和降序排列 58
4.1.2 按列別名排序 60
4.1.3 在ORDER BY子句中使用表達式 61
4.1.4 按空值排序 61
4.1.5 對多列排序 64
4.1.6 對數據表中的指定行數進行排序 65
4.2 字元串排序 68
4.2.1 按字元串中的子串排序 68
4.2.2 按字元串中的數值排序 71
4.3 漢字排序 72
4.3.1 漢字排序規則簡介 72
4.3.2 按筆畫排序 73
4.3.3 按拼音排序 73
4.4 按列的編號排序 74
4.5 隨機排序 75
4.6 實踐與練習 75
第5章 SQL函式的使用 76
視頻講解:59分鐘
5.1 聚合函式 76
5.1.1 聚合函式概述 76
5.1.2 SUM(求和)函式 77
5.1.3 AVG(平均值)函式 77
5.1.4 MAX(最大值)函式和MIN(最小值)函式 78
5.1.5 COUNT(統計)函式 80
5.1.6 DISTINCT(取不重複記錄)函式 80
5.2 數學函式 81
5.2.1 數學函式概述 81
5.2.2 ABS(絕對值)函式 82
5.2.3 PI(圓周率)函式 82
5.2.4 POWER(乘方)函式 82
5.2.5 RAND(隨機浮點數)函式 83
5.2.6 ROUND(四捨五入)函式 83
5.2.7 SQUARE(平方)函式和SQRT(平方根)函式 84
5.2.8 三角函式 85
5.3 字元串函式 86
5.3.1 字元串函式概述 87
5.3.2 ASCII(獲取ASCII碼)函式 87
5.3.3 CHARINDEX(返回字元串的起始位置)函式 89
5.3.4 LEFT(取左邊指定個數的字元)函式 89
5.3.5 RIGHT(取右邊指定個數的字元)函式 90
5.3.6 LEN(返回字元個數)函式 91
5.3.7 REPLACE(替換字元串)函式 91
5.3.8 REVERSE(反轉字元串)函式 92
5.3.9 STR函式 92
5.3.10 SUBSTRING(取字元串)函式 93
5.4 日期和時間函式 94
5.4.1 日期和時間函式概述 94
5.4.2 GETDATE(返回當前系統日期和時間)函式 94
5.4.3 DAY(返回指定日期的天)函式 94
5.4.4 MONTH(返回指定日期的月)函式 95
5.4.5 YEAR(返回指定日期的年)函式 95
5.4.6 DATEDIFF(返回兩個日期之間的間隔)函式 96
5.4.7 DATEADD(添加日期時間)函式 97
5.5 實踐與練習 98
第2篇 SQL語言進階
第6章 分組統計 100
視頻講解:6分鐘
6.1 GROUP BY子句 100
6.1.1 使用GROUP BY子句創建分組 100
6.1.2 使用GROUP BY子句創建多列分組 101
6.1.3 對表達式進行分組統計 102
6.1.4 在SQL查詢語句中GROUP BY子句的NULL值處理 103
6.1.5 對統計結果排序 103
6.1.6 在WHERE子句中使用GROUP BY子句 104
6.1.7 GROUP BY子句的特殊用法 105
6.2 HAVING子句 105
6.3 實踐與練習 107
第7章 子查詢 108
視頻講解:70分鐘
7.1 簡單子查詢 108
7.1.1 SELECT 列表中的子查詢 109
7.1.2 多列子查詢 110
7.1.3 比較子查詢 111
7.1.4 在子查詢中使用聚合函式 112
7.2 多行子查詢 112
7.2.1 使用IN操作符的多行子查詢 112
7.2.2 使用NOT IN子查詢實現差集運算 113
7.2.3 通過量詞實現多行子查詢 114
7.2.4 使用ALL操作符的多行子查詢 115
7.2.5 使用ANY/SOME操作符的多行子查詢 115
7.2.6 FROM子句中的子查詢 116
7.3 相關子查詢 116
7.3.1 使用IN引入相關子查詢 117
7.3.2 使用NOT IN引入相關子查詢 117
7.3.3 在HAVING子句中使用相關子查詢 118
7.4 嵌套子查詢 119
7.4.1 簡單的嵌套子查詢 119
7.4.2 複雜的嵌套查詢 120
7.4.3 在UPDATE中使用子查詢 121
7.4.4 在INSERT中使用子查詢 122
7.4.5 在DELETE中使用子查詢 123
7.5 實踐與練習 123
第8章 多表查詢 124
視頻講解:43分鐘
8.1 多表連線 124
8.1.1 笛卡兒乘積 124
8.1.2 通過WHERE子句連線多表 126
8.1.3 通過FROM子句連線多表 126
8.1.4 在多表連線中設定連線條件 127
8.1.5 在多表連線中返回某個表的所有列 127
8.1.6 通過設定表別名提高SQL可讀性 128
8.2 內連線 129
8.2.1 等值連線 129
8.2.2 不等值連線 129
8.2.3 自然連線 130
8.2.4 複雜的內連線查詢 130
8.3 外連線 131
8.3.1 左外連線 131
8.3.2 右外連線 132
8.3.3 全外連線 132
8.3.4 通過外連線進行多表聯合查詢 133
8.4 其他連線 134
8.4.1 自連線 134
8.4.2 交叉連線 134
8.5 實踐與練習 135
第9章 添加數據 136
視頻講解:39分鐘
9.1 插入單行記錄 136
9.1.1 INSERT語句基本語法 137
9.1.2 插入整行數據 137
9.1.3 插入NULL值 138
9.1.4 插入唯一值 138
9.1.5 插入特定欄位數據 139
9.1.6 插入默認值 140
9.1.7 插入日期數據 141
9.1.8 通過視圖插入行 141
9.1.9 向表中插入記錄時任意指定的不同的欄位順序 142
9.1.10 插入的數據類型值與實際中的數據類型不匹配時,系統將輸出 錯誤提示 143
9.1.11 向表中插入欄位的個數少於表中實際欄位的個數,有時會出錯 143
9.2 插入多行記錄 144
9.2.1 插入多行記錄的語法格式 144
9.2.2 使用VALUES關鍵字插入多行數據 144
9.2.3 使用SELECT語句插入數據 145
9.3 表中數據的複製 146
9.3.1 基本語法 146
9.3.2 表中數據的複製套用 146
9.4 實踐與練習 147
第10章 修改和刪除數據 148
視頻講解:64分鐘
10.1 UPDATE語句的基本語法 148
10.2 使用UPDATE語句更新列值 150
10.3 利用子查詢更新行中的值 151
10.3.1 語法格式 151
10.3.2 利用子查詢返回的行數不多於一行(只返回一個值) 152
10.3.3 利用子查詢返回多行(返回多個值) 153
10.3.4 利用內連線查詢來更新數據表中的信息 153
10.4 依據外表值更新數據 154
10.5 分步更新表中的數據 155
10.6 修改指定欄位的數據值 156
10.6.1 修改指定datetime類型欄位內的數據 156
10.6.2 修改指定int類型欄位內的數據 156
10.6.3 修改指定varchar類型欄位內的數據 157
10.6.4 修改指定float類型欄位內的數據 157
10.7 使用DELETE語句刪除數據 158
10.7.1 使用DELETE語句刪除所有數據(省略WHERE子句) 158
10.7.2 使用DELETE語句刪除多行數據 159
10.7.3 使用DELETE語句刪除單行數據(WHERE子句不能省) 159
10.8 刪除重複行 160
10.8.1 刪除完全重複行 160
10.8.2 刪除部分重複行 161
10.9 使用TRUNCATE TABLE語句刪除數據 162
10.10 使用DELETE語句中帶有的TOP子句 162
10.11 實踐與練習 163
第3篇 SQL高級套用
第11章 視圖 166
視頻講解:14分鐘
11.1 視圖概述 166
11.2 視圖創建 167
11.3 視圖重命名 169
11.4 視圖修改 169
11.5 視圖定義信息查詢 171
11.6 視圖刪除 172
11.7 實踐與練習 173
第12章 存儲過程 174
視頻講解:27分鐘
12.1 存儲過程概述 174
12.1.1 存儲過程的概念 174
12.1.2 存儲過程的作用和功能 175
12.1.3 存儲過程的優點 176
12.2 創建存儲過程 177
12.2.1 CREATE PROCEDURE語句 177
12.2.2 創建具有回傳參數的存儲過程 178
12.2.3 使用RETURN語句從存儲過程中返回值 180
12.3 管理存儲過程 181
12.3.1 執行存儲過程 182
12.3.2 執行具有回傳參數的存儲過程 183
12.3.3 查看存儲過程 184
12.3.4 修改存儲過程 185
12.3.5 刪除存儲過程 186
12.3.6 存儲過程的重新編譯 187
12.4 實踐與練習 188
第13章 觸發器 189
視頻講解:31分鐘
13.1 觸發器概述 189
13.1.1 觸發器的概念 189
13.1.2 觸發器的優點 189
13.1.3 觸發器的種類 190
13.2 創建觸發器 191
13.2.1 創建簡單的觸發器 191
13.2.2 創建具有觸發條件的觸發器 195
13.2.3 創建INSTEAD OF觸發器 197
13.2.4 創建列級觸發器 199
13.3 管理觸發器 201
13.3.1 查看觸發器 201
13.3.2 修改觸發器 201
13.3.3 重命名觸發器 202
13.3.4 禁用和啟用觸發器 203
13.3.5 刪除觸發器 204
13.4 套用觸發器 204
13.4.1 套用觸發器添加數據 204
13.4.2 套用觸發器修改數據 205
13.4.3 套用觸發器刪除數據 207
13.5 實踐與練習 207
第14章 游標 208
視頻講解:59分鐘
14.1 游標概述 208
14.1.1 游標的實現 209
14.1.2 游標的類型 209
14.2 創建游標 210
14.2.1 聲明游標 210
14.2.2 打開游標 211
14.2.3 讀取游標中數據 212
14.2.4 嵌套游標 213
14.2.5 關閉並釋放游標 214
14.3 游標屬性 216
14.3.1 獲取游標狀態 216
14.3.2 獲取游標行數 217
14.4 游標操作 218
14.4.1 基於游標定位修改數據 218
14.4.2 基於游標定位刪除數據 220
14.4.3 在游標中包含計算列 220
14.4.4 將游標中的數據進行排序顯示 221
14.5 動態游標 222
14.5.1 聲明游標變數 222
14.5.2 使用游標變數 223
14.6 實踐與練習 223
第15章 索引 224
視頻講解:23分鐘
15.1 索引概述 224
15.1.1 索引的基本概念 224
15.1.2 索引的分類 226
15.1.3 創建索引的原則 226
15.2 創建索引 227
15.2.1 創建簡單的非簇索引 227
15.2.2 創建多欄位非簇索引 229
15.2.3 創建唯一索引 230
15.2.4 創建簇索引 231
15.3 維護索引 232
15.3.1 查看是否需要維護索引 232
15.3.2 重構索引 233
15.3.3 整理索引碎片 234
15.3.4 刪除索引 235
15.4 實踐與練習 236
第16章 事務 237
視頻講解:26分鐘
16.1 事務的概念 237
16.2 顯式事務與隱式事務 238
16.2.1 顯式事務 239
16.2.2 隱式事務 240
16.2.3 API中控制隱式事務 240
16.2.4 事務的COMMIT和ROLLBACK 241
16.3 使用事務 241
16.3.1 開始事務 241
16.3.2 結束事務 242
16.3.3 回滾事務 242
16.3.4 事務的工作機制 243
16.3.5 自動提交事務 244
16.3.6 事務的並發問題 244
16.3.7 事務的隔離級別 245
16.4 鎖 248
16.4.1 鎖機制 248
16.4.2 鎖模式 248
16.4.3 鎖的粒度 250
16.4.4 查看鎖 251
16.4.5 死鎖 251
16.5 實踐與練習 252
第17章 管理資料庫與數據表 253
視頻講解:19分鐘
17.1 資料庫管理 253
17.1.1 創建資料庫 253
17.1.2 修改資料庫 256
17.1.3 刪除資料庫 259
17.2 數據表管理 260
17.2.1 創建數據表 260
17.2.2 查看數據表 265
17.2.3 修改數據表 267
17.2.4 刪除數據表 271
17.3 實踐與練習 272
第18章 資料庫安全 273
視頻講解:30分鐘
18.1 資料庫安全概述 273
18.2 資料庫登錄管理 273
18.2.1 選擇驗證模式 274
18.2.2 管理登錄賬號 274
18.2.3 更改登錄驗證方式 279
18.2.4 設定密碼 280
18.3 許可權管理 281
18.4 實踐與練習 282
附錄A 安裝SQL Server資料庫 283
附錄B 安裝Oracle資料庫 293
附錄C 安裝MySQL資料庫 296

相關詞條

熱門詞條

聯絡我們