SQL 入門經典, 6/e
賴安·斯蒂芬斯(Ryan Stephens)
- 出版商: 人民郵電
- 出版日期: 2020-08-01
- 定價: $414
- 售價: 5.0 折 $207
- 語言: 簡體中文
- 頁數: 327
- ISBN: 7115496315
- ISBN-13: 9787115496317
-
相關分類:
SQL
-
其他版本:
SQL入門經典(第7版)
買這商品的人也買了...
-
$880$695 -
$420$332 -
$850$808 -
$612Oracle 數據庫管理從入門到精通
-
$1,068$1,015 -
$520$411 -
$480$374 -
$147數學之美, 2/e
-
$834$792 -
$352鮮活的數據 : 數據可視化指南 (Visualize This: The FlowingData Guide to Design, Visualization, and Statistics)
-
$505精通 Oracle SQL, 2/e (Pro Oracle SQL, 2/e)
-
$450$356 -
$352高性能 SQL 調優精要與案例解析
-
$580$493 -
$580$458 -
$474$450 -
$880$695 -
$580$522 -
$403Power BI 權威指南
-
$580$458 -
$620$490 -
$294$279 -
$450$356 -
$534$507 -
$403SQL從小白到大牛
相關主題
商品描述
本書詳細介紹了SQL語言的基本語法、基本概念,說明瞭各種SQL實現與ANSI標準之間的差別。書中包含了大量的範例,直觀地說明瞭如何使用SQL對數據進行處理。每章後面還有針對性很強的測驗與練習,能夠幫助讀者更好地理解和掌握學習的內容。在最後的附錄里還有關於安裝MySQL的詳細介紹、書中用到的關鍵SQL語句、測驗和練習的答案。
本書的內容層次清晰,針對性強,非常適合初學者作為入門教材。
作者簡介
Ryan Stephens是Perpetual Technologies公司以及Indy Data Partners公司(位于印第安纳波利斯)的联合创始人兼CEO。Ryan在IT领域有20多年的研究和咨询经历,擅长数据管理、SQL和Oracle。Ryan在印第安纳大学-普渡大学印第安纳波利斯联合分校创办并讲授了5年的数据库和SQL课程,他还为印第安纳陆军国民警卫队担任了12年的程序分析员(programmer analyst)。Ryan已经为Sams Publishing编写了多本数据库和SQL相关的图书。
Arie D. Jones是Indy Data Partners(IDP)公司(位于印第安纳波利斯)新兴技术(Emerging Technologies)部门的副总裁,领导着一个专家小组负责数据库环境与应用程序的规划、设计、开发、部署和管理,从而让每个客户都获得最佳的工具与服务的组合。他还是技术活动的定期发言人,并且在数据库方面出版了多本图书,并发表了多篇文章。
Ronald Plew已经从Perpetual Technologies公司的联合创始人和副总裁的位置上退休,他在关系数据库技术领域有20多年的研究和咨询经验,还为Sams Publishing合著了多本图书。Ron在印第安纳大学-普渡大学印第安纳波利斯联合分校讲授了5年的数据库和SQL课程。他还曾经担任过印第安纳陆军国民警卫队的程序分析员。
目錄大綱
第 1章 歡迎來到SQL世界 1
1.1 SQL定義及歷史 1
1.1.1 什麽是SQL 2
1.1.2 什麽是ANSI SQL 2
1.1.3 當前標準:SQL-2011 2
1.1.4 什麽是數據庫 3
1.1.5 關系數據庫 4
1.1.6 客戶端/服務器技術 4
1.1.7 基於Web的數據庫系統 5
1.1.8 主流數據庫廠商 5
1.2 SQL會話 6
1.2.1 CONNECT 6
1.2.2 DISCONNECT和EXIT 6
1.3 SQL命令的類型 6
1.3.1 定義數據庫結構 7
1.3.2 操作數據 7
1.3.3 選擇數據 7
1.3.4 數據控制語言 8
1.3.5 數據管理命令 8
1.3.6 事務控制命令 8
1.4 本書使用的數據庫 8
1.4.1 表命名標準 10
1.4.2 實例數據一瞥 10
1.4.3 表的構成 10
1.4.4 示例和練習 11
1.5 小結 11
1.6 問與答 12
1.7 實踐 12
1.7.1 測驗 12
1.7.2 練習 12
第 2章 定義數據結構 14
2.1 數據是什麽 14
2.2 基本數據類型 14
2.2.1 定長字符串 15
2.2.2 變長字符串 16
2.2.3 大對象類型 16
2.2.4 數值類型 16
2.2.5 小數類型 17
2.2.6 整數 17
2.2.7 浮點數 18
2.2.8 日期和時間類型 18
2.2.9 直義字符串 19
2.2.10 NULL數據類型 19
2.2.11 布爾值 20
2.2.12 自定義類型 20
2.2.13 域 20
2.3 小結 21
2.4 問與答 21
2.5 實踐 22
2.5.1 測驗 22
2.5.2 練習 22
第3章 管理數據庫對象 25
3.1 數據庫對象和模式 25
3.2 表:數據的主要存儲方式 27
3.2.1 列 27
3.2.2 行 27
3.2.3 CREATE TABLE語句 28
3.2.4 命名規範 29
3.2.5 ALTER TABLE命令 29
3.2.6 從現有表新建另一個表 32
3.2.7 刪除表 33
3.3 完整性約束 33
3.3.1 主鍵約束 34
3.3.2 唯一性約束 34
3.3.3 外鍵約束 35
3.3.4 NOT NULL約束 36
3.3.5 檢查約束 36
3.3.6 去除約束 37
3.4 小結 37
3.5 問與答 37
3.6 實踐 38
3.6.1 測驗 38
3.6.2 練習 38
第4章 規格化過程 41
4.1 規格化數據庫 41
4.1.1 原始數據庫 42
4.1.2 數據庫邏輯設計 42
4.1.3 規格形式 43
4.1.4 命名規範 45
4.1.5 規格化的優點 46
4.1.6 規格化的缺點 46
4.2 去規格化數據庫 47
4.3 小結 47
4.4 問與答 47
4.5 實踐 48
4.5.1 測驗 48
4.5.2 練習 48
第5章 操作數據 50
5.1 數據操作概述 50
5.2 用新數據填充表 50
5.2.1 把數據插入到表 51
5.2.2 將數據插入到表的特定列中 52
5.2.3 從另一個表插入數據 53
5.2.4 插入NULL值 54
5.3 更新現有數據 55
5.3.1 更新一列的數據 55
5.3.2 更新一條或多條記錄中的
多個字段 56
5.4 從表中刪除數據 57
5.5 小結 57
5.6 問與答 58
5.7 實踐 58
5.7.1 測驗 58
5.7.2 練習 58
第6章 管理數據庫事務 61
6.1 什麽是事務 61
6.2 控制事務 62
6.2.1 COMMIT命令 62
6.2.2 ROLLBACK命令 64
6.2.3 SAVEPOINT命令 65
6.2.4 ROLLBACK TO SAVEPOINT
命令 65
6.2.5 RELEASE SAVEPOINT命令 67
6.2.6 SET TRANSACTION命令 68
6.3 低劣的事務控制 68
6.4 小結 68
6.5 問與答 68
6.6 實踐 69
6.6.1 測驗 69
6.6.2 練習 69
第7章 數據庫查詢 71
7.1 SELECT語句 71
7.1.1 SELECT語句 72
7.1.2 FROM子句 74
7.1.3 WHERE子句 74
7.1.4 ORDER BY子句 75
7.1.5 大小寫敏感性 77
7.2 編寫查詢語句 78
7.2.1 統計表中的記錄數量 79
7.2.2 從另一個用戶表裡選擇
數據 80
7.2.3 使用字段別名 80
7.3 小結 81
7.4 問與答 81
7.5 實踐 82
7.5.1 測驗 82
7.5.2 練習 82
第8章 使用操作符對數據進行分類 84
8.1 什麽是SQL里的操作符 84
8.2 比較操作符 84
8.2.1 相等 85
8.2.2 不等於 85
8.2.3 小於和大於 86
8.2.4 比較操作符的組合 87
8.3 邏輯操作符 88
8.3.1 IS NULL 88
8.3.2 BETWEEN 89
8.3.3 IN 89
8.3.4 LIKE 90
8.3.5 EXISTS 91
8.3.6 ALL、SOME和ANY
操作符 91
8.4 連接操作符 93
8.4.1 AND 93
8.4.2 OR 94
8.5 求反操作符 95
8.5.1 不相等 96
8.5.2 NOT BETWEEN 96
8.5.3 NOT IN 97
8.5.4 NOT LIKE 97
8.5.5 IS NOT NULL 98
8.5.6 NOT EXISTS 99
8.6 算術操作符 99
8.6.1 加法 99
8.6.2 減法 100
8.6.3 乘法 100
8.6.4 除法 100
8.6.5 算術操作符的組合 101
8.7 小結 102
8.8 問與答 102
8.9 實踐 102
8.9.1 測驗 102
8.9.2 練習 103
第9章 匯總查詢得到的數據 104
9.1 聚合函數 104
9.1.1 COUNT函數 105
9.1.2 SUM函數 106
9.1.3 AVG函數 107
9.1.4 MAX函數 109
9.1.5 MIN函數 109
9.2 小結 110
9.3 問與答 110
9.4 實踐 111
9.4.1 測驗 111
9.4.2 練習 112
第 10章 數據排序與分組 113
10.1 為什麽要對數據進行分組 113
10.2 GROUP BY子句 113
10.2.1 分組函數 114
10.2.2 對選中的數據進行分組 114
10.2.3 創建分組和使用聚合函數 114
10.3 GROUP BY與ORDER BY
的對比 118
10.4 CUBE和ROLLUP語句 120
10.5 HAVING子句 121
10.6 小結 122
10.7 問與答 123
10.8 實踐 123
10.8.1 測驗 123
10.8.2 練習 124
第 11章 重構數據的外觀 125
11.1 ANSI字符函數 125
11.2 常用字符函數 126
11.2.1 串接函數 126
11.2.2 UPPER函數 127
11.2.3 LOWER函數 128
11.2.4 SUBSTR函數 129
11.2.5 TRANSLATE函數 130
11.2.6 REPLACE函數 130
11.2.7 LTRIM函數 131
11.2.8 RTRIM函數 132
11.3 其他字符函數 133
11.3.1 LENGTH函數 133
11.3.2 ISNULL函數(NULL值
檢查程序) 133
11.3.3 COALESCE函數 134
11.3.4 LPAD函數 134
11.3.5 RPAD函數 135
11.3.6 ASCII函數 135
11.4 算術函數 135
11.5 轉換函數 136
11.5.1 字符串轉換為數值 136
11.5.2 數值轉換為字符串 137
11.6 字符函數的組合使用 138
11.7 小結 139
11.8 問與答 139
11.9 實踐 140
11.9.1 測驗 140
11.9.2 練習 140
第 12章 日期和時間 142
12.1 日期是如何存儲的 142
12.1.1 日期和時間的標準
數據類型 142
12.1.2 DATETIME元素 143
12.1.3 不同實現的日期類型 143
12.2 日期函數 144
12.2.1 當前日期 144
12.2.2 時區 144
12.2.3 時間與日期相加 145
12.2.4 其他日期函數 147
12.3 日期轉換 147
12.3.1 日期描述 148
12.3.2 日期轉換為字符串 150
12.3.3 字符串轉換為日期 150
12.4 小結 151
12.5 問與答 151
12.6 實踐 152
12.6.1 測驗 152
12.6.2 練習 152
第 13章 在查詢中連接表 153
13.1 從多個表獲取數據 153
13.2 連接 153
13.2.1 等值連接 154
13.2.2 使用表的別名 155
13.2.3 不等值連接 156
13.2.4 外部連接 157
13.2.5 自連接 159
13.2.6 連接多個主鍵 161
13.3 需要考慮的連接事項 161
13.3.1 使用基表 162
13.3.2 笛卡兒積 162
13.4 小結 164
13.5 問與答 164
13.6 實踐 164
13.6.1 測驗 165
13.6.2 練習 165
第 14章 使用子查詢定義未知數據 166
14.1 什麽是子查詢 166
14.1.1 子查詢與SELECT語句 167
14.1.2 子查詢與INSERT語句 169
14.1.3 子查詢與UPDATE語句 169
14.1.4 子查詢與DELETE語句 170
14.2 嵌套的子查詢 171
14.3 關聯子查詢 174
14.4 子查詢的效率 175
14.5 小結 176
14.6 問與答 176
14.7 實踐 176
14.7.1 測驗 177
14.7.2 練習 177
第 15章 將多個查詢組合成一個 178
15.1 單查詢與組合查詢 178
15.2 組合查詢操作符 179
15.2.1 UNION操作符 179
15.2.2 UNION ALL操作符 180
15.2.3 INTERSECT操作符 181
15.2.4 EXCEPT操作符 182
15.3 在組合查詢中使用
ORDER BY 183
15.4 在組合查詢中使用
GROUP BY 184
15.5 獲取準確的數據 185
15.6 小結 186
15.7 問與答 186
15.8 實踐 186
15.8.1 測驗 187
15.8.2 練習 187
第 16章 利用索引改善性能 188
16.1 什麽是索引 188
16.2 索引是如何工作的 188
16.3 CREATE INDEX命令 189
16.4 索引的類型 190
16.4.1 單字段索引 190
16.4.2 唯一索引 190
16.4.3 組合索引 191
16.4.4 隱式索引 191
16.5 何時考慮使用索引 191
16.6 何時應該避免使用索引 192
16.7 修改索引 193
16.8 刪除索引 193
16.9 小結 194
16.10 問與答 194
16.11 實踐 194
16.11.1 測驗 194
16.11.2 練習 195
第 17章 改善數據庫性能 196
17.1 什麽是SQL語句調整 196
17.2 數據庫調整與SQL語句
調整 196
17.3 格式化SQL語句 197
17.3.1 為提高可讀性格式化SQL
語句 197
17.3.2 FROM子句中的表 199
17.3.3 連接條件的次序 199
17.3.4 最嚴格條件 199
17.4 全表掃描 201
17.5 其他性能考慮 202
17.5.1 使用LIKE操作符和
通配符 202
17.5.2 避免使用OR操作符 203
17.5.3 避免使用HAVING子句 203
17.5.4 避免大規模排序操作 204
17.5.5 使用存儲過程 204
17.5.6 在批量加載時禁用索引 204
17.6 基於成本的優化 204
17.7 小結 205
17.8 問與答 206
17.9 實踐 206
17.9.1 測驗 206
17.9.2 練習 206
第 18章 管理數據庫用戶 208
18.1 數據庫的用戶管理 208
18.1.1 用戶的類型 209
18.1.2 誰管理用戶 209
18.1.3 用戶在數據庫中的位置 209
18.1.4 用戶與模式的區別 210
18.2 管理過程 210
18.2.1 創建用戶 210
18.2.2 創建模式 212
18.2.3 刪除模式 214
18.2.4 調整用戶 214
18.2.5 用戶會話 215
18.2.6 刪除用戶訪問權限 215
18.3 數據庫用戶使用的工具 215
18.4 小結 216
18.5 問與答 216
18.6 實踐 216
18.6.1 測驗 217
18.6.2 練習 217
第 19章 管理數據庫安全 218
19.1 什麽是數據庫安全 218
19.2 什麽是權限 219
19.2.1 系統權限 219
19.2.2 對象權限 220
19.2.3 誰負責授予和撤銷權限 221
19.3 控制用戶訪問 221
19.3.1 GRANT命令 221
19.3.2 REVOKE命令 222
19.3.3 控制對單獨字段的訪問 222
19.3.4 PUBLIC數據庫賬戶 222
19.3.5 權限組 223
19.4 通過角色控制權限 223
19.4.1 CREATE ROLE語句 224
19.4.2 DROP ROLE語句 224
19.4.3 SET ROLE語句 224
19.5 小結 225
19.6 問與答 225
19.7 實踐 226
19.7.1 測驗 226
19.7.2 練習 226
第 20章 創建並使用視圖和異名 227
20.1 什麽是視圖 227
20.1.1 使用視圖來簡化數據訪問 228
20.1.2 使用視圖作為一種安全角式 228
20.1.3 使用視圖來維護匯總數據 228
20.2 創建視圖 229
20.2.1 從一個表創建視圖 229
20.2.2 從多個表創建視圖 231
20.2.3 從視圖創建視圖 231
20.3 WITH CHECK OPTION 232
20.4 從視圖創建表 233
20.5 視圖與ORDER BY子句 234
20.6 通過視圖更新數據 234
20.7 刪除視圖 235
20.8 嵌套視圖對性能的影響 235
20.9 什麽是異名 235
20.9.1 創建異名 236
20.9.2 刪除異名 236
20.10 小結 237
20.11 問與答 237
20.12 實踐 237
20.12.1 測驗 237
20.12.2 練習 238
第 21章 使用系統目錄 239
21.1 什麽是系統目錄 239
21.2 如何創建系統目錄 240
21.3 系統目錄中包含什麽內容 240
21.3.1 用戶數據 241
21.3.2 安全信息 241
21.3.3 數據庫設計信息 241
21.3.4 性能統計信息 241
21.4 不同實現中的系統目錄表 241
21.5 查詢系統目錄 242
21.6 更新系統目錄對象 244
21.7 小結 245
21.8 問與答 245
21.9 實踐 245
21.9.1 測驗 245
21.9.2 練習 246
第 22章 高級SQL主題 247
22.1 游標 247
22.1.1 打開游標 248
22.1.2 從游標獲取數據 248
22.1.3 關閉游標 249
22.2 存儲過程和函數 250
22.3 觸發器 251
22.3.1 CREATE TRIGGER語句 251
22.3.2 DROP TRIGGER語句 253
22.4 動態SQL 253
22.5 調用級接口 253
22.6 使用SQL生成SQL 254
22.7 直接SQL與嵌入SQL 254
22.8 窗口表格函數 255
22.9 使用XML 255
22.10 小結 256
22.11 問與答 256
22.12 實踐 256
22.12.1 測驗 257
22.12.2 練習 257
第 23章 將SQL擴展到企業、
互聯網和內聯網 258
23.1 SQL與企業 258
23.1.1 後端程序 258
23.1.2 前端程序 259
23.2 訪問遠程數據庫 259
23.2.1 ODBC 260
23.2.2 JDBC 260
23.2.3 OLE DB 260
23.2.4 廠商連接產品 260
23.2.5 Web接口 261
23.3 SQL與互聯網 261
23.3.1 讓數據供全世界的
顧客使用 262
23.3.2 向雇員和授權顧客
提供數據 262
23.4 SQL與內聯網 262
23.5 小結 263
23.6 問與答 263
23.7 實踐 263
23.7.1 測驗 264
23.7.2 練習 264
第 24章 標準SQL的擴展 265
24.1 各種實現 265
24.1.1 不同實現之間的區別 265
24.1.2 遵循ANSI SQL 266
24.1.3 SQL的擴展 267
24.2 擴展示例 267
24.2.1 Transact-SQL 268
24.2.2 PL/SQL 268
24.2.3 MySQL 269
24.3 交互式SQL語句 269
24.4 小結 270
24.5 問與答 270
24.6 實踐 271
附錄A 常用SQL命令 272
附錄B 安裝Oracle和Microsoft SQL 277
附錄C 測驗和練習的答案 280
附錄D 額外練習 314
術語表 325