SQL 語言從入門到精通
明日科技
買這商品的人也買了...
-
$520$411 -
$820$640 -
$450$351 -
$534$507 -
$960$749 -
$454Wi-Fi 6:入門到應用
-
$599$509 -
$407Java 從入門到精通, 6/e
-
$1,200$792 -
$857瘋狂 Spring Boot 終極講義
-
$232股票大作手操盤術:融合時間和價格的利弗莫爾準則(丁聖元 譯)
-
$1,200$792 -
$768$730 -
$690$538 -
$390RISC-V 體系結構編程與實踐
-
$500$375 -
$599$569 -
$599$569 -
$458MySQL 從入門到精通, 3/e
-
$654$621 -
$774$735 -
$780$616 -
$630$498 -
$700$525 -
$539$512
相關主題
商品描述
《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