《SQL入門經典(第5版)》)電子書[PDF]
本文關鍵詞:SQL入門經典,由筆耕文化傳播整理發(fā)布。
簡介:
目錄:
第一部分 sql概念綜述
第1章 歡迎來到sql世界 3
1.1 sql定義及歷史 3
1.1.1 什么是sql 4
1.1.2 什么是ansi sql 4
1.1.3 新標準:sql-2008 4
1.1.4 什么是數據庫 5
1.1.5 關系型數據庫 5
1.1.6 客戶端/服務器技術 6
1.1.7 基于web的數據庫系統(tǒng) 7
1.1.8 主流數據庫廠商 7
1.2 sql會話 7
1.2.1 connect 8
1.2.2 disconnect和exit 8
1.3 sql命令的類型 8
1.3.1 定義數據庫結構 8
1.3.2 操作數據 9
1.3.3 選擇數據 9
1.3.4 數據控制語言 9
.1.3.5 數據管理命令 10
1.3.6 事務控制命令 10
1.4 本書使用的數據庫 10
1.4.1 表命名標準 11
1.4.2 數據一瞥 11
1.4.3 表的構成 13
1.4.4 范例和練習 14
1.5 小結 14
1.6 問與答 14
1.7 實踐 15
1.7.1 測驗 15
1.7.2 練習 15
第二部分 建立數據庫
第2章 定義數據結構 19
2.1 數據是什么 19
2.2 基本數據類型 19
2.2.1 定長字符串 20
2.2.2 變長字符串 21
2.2.3 大對象類型 21
2.2.4 數值類型 21
2.2.5 小數類型 22
2.2.6 整數 22
2.2.7 浮點數 23
2.2.8 日期和時間類型 23
2.2.9 直義字符串 23
2.2.10 null數據類型 24
2.2.11 布爾值 24
2.2.12 自定義類型 25
2.2.13 域 25
2.3 小結 25
2.4 問與答 26
2.5 實踐 26
2.5.1 測驗 26
2.5.2 練習 27
第3章 管理數據庫對象 29
3.1 什么是數據庫對象 29
3.2 什么是規(guī)劃 29
3.3 表:數據的主要存儲方式 31
3.3.1 列 31
3.3.2 行 31
3.3.3 create table語句 32
3.3.4 命名規(guī)范 33
3.3.5 alter table命令 34
3.3.6 從現有表新建另一個表 36
3.3.7 刪除表 37
3.4 完整性約束 37
3.4.1 主鍵約束 38
3.4.2 唯一性約束 38
3.4.3 外鍵約束 39
3.4.4 not null約束 40
3.4.5 檢查約束 40
3.4.6 去除約束 41
3.5 小結 41
3.6 問與答 41
3.7 實踐 42
3.7.1 測驗 42
3.7.2 練習 42
第4章 規(guī)格化過程 45
4.1 規(guī)格化數據庫 45
4.1.1 原始數據庫 45
4.1.2 數據庫邏輯設計 46
4.1.3 規(guī)格形式 47
4.1.4 命名規(guī)范 49
4.1.5 規(guī)格化的優(yōu)點 50
4.1.6 規(guī)格化的缺點 50
4.2 去規(guī)格化數據庫 50
4.3 小結 51
4.4 問與答 51
4.5 實踐 51
4.5.1 測驗 52
4.5.2 練習 52
第5章 操作數據 53
5.1 數據操作概述 53
5.2 用新數據填充表 53
5.2.1 把數據插入到表 54
5.2.2 給表里指定列插入數據 55
5.2.3 從另一個表插入數據 56
5.2.4 插入null值 57
5.3 更新現有數據 58
5.3.1 更新一列的數據 58
5.3.2 更新一條或多記錄里的多個字段 59
5.4 從表里刪除數據 59
5.5 小結 60
5.6 問與答 60
5.7 實踐 61
5.7.1 測驗 61
5.7.2 練習 62
第6章 管理數據庫事務 63
6.1 什么是事務 63
6.2 控制事務 63
6.2.1 commit命令 64
6.2.2 rollback命令 66
6.2.3 savepoint命令 67
6.2.4 rollback to savepoint命令 67
6.2.5 release savepoint命令 68
6.2.6 set transaction命令 68
6.3 事務控制與數據庫性能 69
6.4 小結 69
6.5 問與答 69
6.6 實踐 70
6.6.1 測驗 70
6.6.2 練習 70
第三部分 從查詢中獲得有效的結果
第7章 數據庫查詢 73
7.1 什么是查詢 73
7.2 select語句 73
7.2.1 select語句 74
7.2.2 from子句 75
7.2.3 where子句 76
7.2.4 order by子句 77
7.2.5 大小寫敏感性 79
7.3 簡單查詢的范例 79
7.3.1 統(tǒng)計表里的記錄數量 81
7.3.2 從另一個用戶表里選擇數據 81
7.3.3 使用字段別名 82
7.4 小結 82
7.5 問與答 83
7.6 實踐 83
7.6.1 測驗 83
7.6.2 練習 84
第8章 使用操作符對數據進行分類 85
8.1 什么是sql里的操作符 85
8.2 比較操作符 85
8.2.1 相等 86
8.2.2 不等于 86
8.2.3 小于和大于 87
8.2.4 比較操作符的組合 88
8.3 邏輯操作符 88
8.3.1 is null 89
8.3.2 between 89
8.3.3 in 90
8.3.4 like 90
8.3.5 exists 91
8.3.6 all、some和any操作符 92
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 98
8.6 算術操作符 98
8.6.1 加法 99
8.6.2 減法 99
8.6.3 乘法 99
8.6.4 除法 100
8.6.5 算術操作符的組合 100
8.7 小結 101
8.8 問與答 101
8.9 實踐 101
8.9.1 測驗 102
8.9.2 練習 102
第9章 匯總查詢得到的數據 104
9.1 什么是匯總函數 104
9.1.1 count函數 105
9.1.2 sum函數 107
9.1.3 avg函數 108
9.1.4 max函數 108
9.1.5 min函數 109
9.2 小結 110
9.3 問與答 110
9.4 實踐 111
9.4.1 測驗 111
9.4.2 練習 111
第10章 數據排序與分組 113
10.1 為什么要對數據進行分組 113
10.2 group by子句 114
10.2.1 分組函數 114
10.2.2 對選中的數據進行分組 114
10.2.3 創(chuàng)建分組和使用匯總函數 115
10.2.4 以整數代表字段名稱 117
10.3 group by與order by 117
10.4 cube和rollup語句 119
10.5 having子句 121
10.6 小結 122
10.7 問與答 122
10.8 實踐 123
10.8.1 測驗 123
10.8.2 練習 123
第11章 調整數據的外觀 125
11.1 ansi字符函數 125
11.2 常用字符函數 126
11.2.1 串接函數 126
11.2.2 translate函數 127
11.2.3 replace 128
11.2.4 upper 128
11.2.5 lower 129
11.2.6 substr 129
11.2.7 instr 130
11.2.8 ltrim 131
11.2.9 rtrim 131
11.2.10 decode 132
11.3 其他字符函數 132
11.3.1 length 132
11.3.2 ifnull(檢查null值) 133
11.3.3 coalesce 133
11.3.4 lpad 134
11.3.5 rpad 134
11.3.6 ascii 135
11.4 算術函數 135
11.5 轉換函數 136
11.5.1 字符串轉換為數字 136
11.5.2 數字轉換為字符串 137
11.6 字符函數的組合使用 137
11.7 小結 138
11.8 問與答 138
11.9 實踐 139
11.9.1 測驗 139
11.9.2 練習 139
第12章 日期和時間 141
12.1 日期是如何存儲的 141
12.1.1 日期和時間的標準數據類型 141
12.1.2 datetime元素 142
12.1.3 不同實現的日期類型 142
12.2 日期函數 143
12.2.1 當前日期 143
12.2.2 時區(qū) 144
12.2.3 時間與日期相加 144
12.2.4 其他日期函數 146
12.3 日期轉換 146
12.3.1 日期描述 147
12.3.2 日期轉換為字符串 149
12.3.3 字符串轉換為日期 149
12.4 小結 150
12.5 問與答 150
12.6 實踐 150
12.6.1 測驗 151
12.6.2 練習 151
第四部分 建立復雜的數據庫查詢
第13章 在查詢里結合表 155
13.1 從多個表獲取數據 155
13.2 結合的類型 156
13.2.1 結合條件的位置 156
13.2.2 等值結合 156
13.2.3 使用表的別名 157
13.2.4 不等值結合 158
13.2.5 外部結合 159
13.2.6 自結合 161
13.2.7 結合多個主鍵 162
13.3 需要考慮的事項 163
13.3.1 使用基表 163
13.3.2 笛卡爾積 164
13.4 小結 166
13.5 問與答 166
13.6 實踐 167
13.6.1 測驗 167
13.6.2 練習 167
第14章 使用子查詢定義未確定數據 169
14.1 什么是子查詢 169
14.1.1 子查詢與select語句 170
14.1.2 子查詢與insert語句 171
14.1.3 子查詢與update語句 172
14.1.4 子查詢與delete語句 173
14.2 嵌套的子查詢 173
14.3 關聯子查詢 175
14.4 子查詢的效率 176
14.5 小結 176
14.6 問與答 176
14.7 實踐 177
14.7.1 測驗 177
14.7.2 練習 178
第15章 組合多個查詢 179
15.1 單查詢與組合查詢 179
15.2 組合查詢操作符 180
15.2.1 union 180
15.2.2 union all 182
15.2.3 intersect 183
15.2.4 except 184
15.3 組合查詢里使用order by 184
15.4 組合查詢里使用group by 186
15.5 獲取準確的數據 187
15.6 小結 187
15.7 問與答 187
15.8 實踐 188
15.8.1 測驗 188
15.8.2 練習 189
第五部分 sql性能調整
第16章 利用索引改善性能 193
16.1 什么是索引 193
16.2 索引是如何工作的 194
16.3 create index命令 194
16.4 索引的類型 195
16.4.1 單字段索引 195
16.4.2 唯一索引 195
16.4.3 組合索引 196
16.4.4 隱含索引 196
16.5 何時考慮使用索引 196
16.6 何時應該避免使用索引 197
16.7 修改索引 198
16.8 刪除索引 198
16.9 小結 199
16.10 問與答 199
16.11 實踐 199
16.11.1 測驗 199
16.11.2 練習 200
第17章 改善數據庫性能 201
17.1 什么是sql語句調整 201
17.2 數據庫調整與sql語句調整 202
17.3 格式化sql語句 202
17.3.1 為提高可讀性格式化sql語句 202
17.3.2 from子句里的表 204
17.3.3 結合條件的次序 204
17.3.4 最嚴格條件 205
17.4 全表掃描 206
17.5 其他性能考慮 207
17.5.1 使用like操作符和通配符 207
17.5.2 避免使用or操作符 208
17.5.3 避免使用having子句 208
17.5.4 避免大規(guī)模排序操作 209
17.5.5 使用存儲過程 209
17.5.6 在批加載時關閉索引 209
17.6 基于成本的優(yōu)化 210
17.7 性能工具 210
17.8 小結 210
17.9 問與答 211
17.10 實踐 211
17.10.1 測驗 211
17.10.2 練習 211
第六部分 使用sql管理用戶和安全
第18章 管理數據庫用戶 215
18.1 數據庫的用戶管理 215
18.1.1 用戶的類型 216
18.1.2 誰管理用戶 216
18.1.3 用戶在數據庫里的位置 216
18.1.4 不同規(guī)劃里的用戶 217
18.2 管理過程 217
18.2.1 創(chuàng)建用戶 217
18.2.2 創(chuàng)建規(guī)劃 219
18.2.3 刪除規(guī)劃 220
18.2.4 調整用戶 221
18.2.5 用戶會話 222
18.2.6 禁止用戶訪問 222
18.3 數據庫用戶使用的工具 222
18.4 小結 223
18.5 問與答 223
18.6 實踐 223
18.6.1 測驗 224
18.6.2 練習 224
第19章 管理數據庫安全 225
19.1 什么是數據庫安全 225
19.2 什么是權限 226
19.2.1 系統(tǒng)權限 226
19.2.2 對象權限 227
19.2.3 誰負責授予和撤銷權限 228
19.3 控制用戶訪問 228
19.3.1 grant命令 228
19.3.2 revoke命令 229
19.3.3 控制對單獨字段的訪問 230
19.3.4 數據庫賬戶public 230
19.3.5 權限組 230
19.4 通過角色控制權限 231
19.4.1 create role語句 232
19.4.2 drop role語句 232
19.4.3 set role語句 232
19.5 小結 233
19.6 問與答 233
19.7 實踐 233
19.7.1 測驗 234
19.7.2 練習 234
第七部分 摘要數據結構
第20章 創(chuàng)建和使用視圖及異名 237
20.1 什么是視圖 237
20.1.1 使用視圖來簡化數據訪問 238
20.1.2 使用視圖作為一種安全形式 238
20.1.3 使用視圖維護摘要數據 239
20.2 創(chuàng)建視圖 239
20.2.1 從一個表創(chuàng)建視圖 239
20.2.2 從多個表創(chuàng)建視圖 241
20.2.3 從視圖創(chuàng)建視圖 241
20.3 with check option 242
20.4 從視圖創(chuàng)建表 243
20.5 視圖與order by子句 244
20.6 通過視圖更新數據 244
20.7 刪除視圖 244
20.8 嵌套視圖對性能的影響 245
20.9 什么是異名 245
20.9.1 創(chuàng)建異名 245
20.9.2 刪除異名 246
20.10 小結 246
20.11 問與答 247
20.12 實踐 247
20.12.1 測驗 247
20.12.2 練習 247
第21章 使用系統(tǒng)目錄 248
21.1 什么是系統(tǒng)目錄 248
21.2 如何創(chuàng)建系統(tǒng)目錄 249
21.3 系統(tǒng)目錄里包含什么內容 249
21.3.1 用戶數據 250
21.3.2 安全信息 250
21.3.3 數據庫設計信息 250
21.3.4 性能統(tǒng)計 250
21.4 不同實現里的系統(tǒng)目錄表格 250
21.5 查詢系統(tǒng)目錄 251
21.6 更新系統(tǒng)目錄對象 253
21.7 小結 253
21.8 問與答 253
21.9 實踐 254
21.9.1 測驗 254
21.9.2 練習 254
第八部分 在實際工作中應用sql知識
第22章 高級sql主題 257
22.1 光標 257
22.1.1 打開光標 258
22.1.2 從光標獲取數據 258
22.1.3 關閉光標 260
22.2 存儲過程和函數 260
22.3 觸發(fā)器 262
22.3.1 create trigger語句 262
22.3.2 drop trigger語句 263
22.3.3 for each row語句 264
22.4 動態(tài)sql 264
22.5 調用級接口 264
22.6 使用sql生成sql 265
22.7 直接sql與嵌入sql 265
22.8 窗口表格函數 266
22.9 使用xml 266
22.10 小結 267
22.11 問與答 267
22.12 實踐 267
22.12.1 測驗 267
22.12.2 練習 268
第23章 sql擴展到企業(yè)、互聯網和內部網 269
23.1 sql與企業(yè) 269
23.1.1 后臺程序 269
23.1.2 前臺程序 270
23.2 訪問遠程數據庫 270
23.2.1 odbc 271
23.2.2 jdbc 271
23.2.3 ole db 271
23.2.4 廠商連接產品 272
23.2.5 通過web接口訪問遠程數據庫 272
23.3 sql與互聯網 273
23.3.1 讓數據可以被全世界的顧客使用 273
23.3.2 向雇員和授權顧客提供數據 273
23.4 sql與內部網 273
23.5 小結 274
23.6 問與答 274
23.7 實踐 275
23.7.1 測驗 275
23.7.2 練習 275
第24章 標準sql的擴展 276
24.1 各種實現 276
24.1.1 不同實現之間的區(qū)別 276
24.1.2 遵循ansi sql 277
24.1.3 sql的擴展 278
24.2 擴展范例 278
24.2.1 transact-sql 279
24.2.2 pl/sql 279
24.2.3 mysql 280
24.3 交互sql語句 280
24.4 小結 281
24.5 問與答 281
24.6 實踐 282
24.6.1 測驗 282
24.6.2 練習 282
第九部分 附錄
附錄a 常用sql命令 285
a.1 sql語句 285
a.2 sql子句 288
附錄b 使用數據庫進行練習 290
b.1 在windows操作系統(tǒng)中安裝mysql的指令 290
b.2 在windows操作系統(tǒng)中安裝oracle的指令 292
b.3 在windows操作系統(tǒng)中安裝microsoft sql server的指令 293
附錄c 測驗和練習的答案 295
附錄d 本書范例的create table語句 333
d.1 mysql 333
d.2 oracle和sql server 334
附錄e 書中范例所涉數據的insert語句 336
e.1 mysql和sql server 336
e.1.1 employee_tbl 336
e.1.2 employee_pay_tbl 336
e.1.3 customer_tbl 337
e.1.4 orders_tbl 338
e.1.5 products_tbl 338
e.2 oracle 339
e.2.1 employee_tbl 339
e.2.2 employee_pay_tbl 339
e.2.3 customer_tbl 340
e.2.4 orders_tbl 341
e.2.5 products_tbl 341
附錄f 額外練習 342
術語表 347
電子書鏈接
內容介紹:
《sql入門經典(第5版)》的作者都是數據庫教學與應用的專家,有著豐富的經驗!SQL入門經典(第5版)》詳細介紹了sql語言的基本語法、基本概念,說明了各種sql實現與ansi標準之間的差別。書中包含了大量的范例,直觀地說明了如何使用sql對數據進行處理。每章后面還有針對性很強的測驗與練習,能夠幫助讀者更好地理解和掌握學習的內容。在最后的附錄里還有關于安裝mysql的詳細介紹、書中用到的關鍵sql語句、測驗和練習的答案。
《SQL入門經典(第5版)》的內容層次清晰,針對性強,非常適合初學者作為入門教材。
內容截圖:
本文關鍵詞:SQL入門經典,,由筆耕文化傳播整理發(fā)布。
本文編號:345387
本文鏈接:http://sikaile.net/wenshubaike/mishujinen/345387.html