《SQL入門經典(第5版)》是2011年人民郵電出版社出版的圖書,作者是史蒂芬森、普勞、瓊斯。
基本介紹
- 書名:SQL入門經典(第5版)
- 作者:史蒂芬森、普勞、瓊斯
- ISBN:9787115264077
- 頁數:349頁
- 出版社:人民郵電出版社
- 出版時間:2011年
- 開本:16開
內容簡介,目錄,
內容簡介
本書的作者都是資料庫教學與套用的專家,有著豐富的經驗。本書詳細介紹了SQL語言的基本語法、基本概念,說明了各種SQL實現與ANSI標準之間的差別。書中包含了大量的範例,直觀地說明了如何使用SQL對數據進行處理。每章後面還有針對性很強的測驗與練習,能夠幫助讀者更好地理解和掌握學習的內容。在最後的附錄里還有關於安裝MySQL的詳細介紹、書中用到的關鍵SQL語句、測驗和練習的答案。 本書的內容層次清晰,針對性強,非常適合初學者作為入門教材。
目錄
第一部分 SQL概念綜述
第1章 歡迎來到SQL世界
1.1 SQL定義及歷史
1.1.1 什麼是SQL
1.1.2 什麼是ANSI SQL
1.1.3 新標準:SQL-2008
1.1.4 什麼是資料庫
1.1.5 關係型資料庫
1.1.6 客戶端/伺服器技術
1.1.7 基於Web的資料庫系統
1.1.8 主流資料庫廠商
1.2 SQL會話
1.2.1 CONNECT
1.2.2 DISCONNECT和EXIT
1.3 SQL命令的類型
1.3.1 定義資料庫結構
1.3.2 運算元據
1.3.3 選擇數據
1.3.4 數據控制語言
1.3.5 數據管理命令
1.3.6 事務控制命令
1.4 本書使用的資料庫
1.4.1 表命名標準
1.4.2 數據一瞥
1.4.3 表的構成
1.4.4 範例和練習
1.5 小結
1.6 問與答
1.7 實踐
1.7.1 測驗
1.7.2 練習
第二部分 建立資料庫
第2章 定義數據結構
2.1 數據是什麼
2.2 基本數據類型
2.2.1 定長字元串
2.2.2 變長字元串
2.2.3 大對象類型
2.2.4 數值類型
2.2.5 小數類型
2.2.6 整數
2.2.7 浮點數
2.2.8 日期和時間類型
2.2.9 直義字元串
2.2.10 NULL數據類型
2.2.11 布爾值
2.2.12 自定義類型
2.2.13 域
2.3 小結
2.4 問與答
2.5 實踐
2.5.1 測驗
2.5.2 練習
第3章 管理資料庫對象
3.1 什麼是資料庫對象
3.2 什麼是規劃
3.3 表:數據的主要存儲方式
3.3.1 列
3.3.2 行
3.3.3 CREATE TABLE語句
3.3.4 命名規範
3.3.5 ALTER TABLE命令
3.3.6 從現有表新建另一個表
3.3.7 刪除表
3.4 完整性約束
3.4.1 主鍵約束
3.4.2 唯一性約束
3.4.3 外鍵約束
3.4.4 NOT NULL約束
3.4.5 檢查約束
3.4.6 去除約束
3.5 小結
3.6 問與答
3.7 實踐
3.7.1 測驗
3.7.2 練習
第4章 規格化過程
4.1 規格化資料庫
4.1.1 原始資料庫
4.1.2 資料庫邏輯設計
4.1.3 規格形式
4.1.4 命名規範
4.1.5 規格化的優點
4.1.6 規格化的缺點
4.2 去規格化資料庫
4.3 小結
4.4 問與答
4.5 實踐
4.5.1 測驗
4.5.2 練習
第5章 運算元據
5.1 數據操作概述
5.2 用新數據填充表
5.2.1 把數據插入到表
5.2.2 給表里指定列插入數據
5.2.3 從另一個表插入數據
5.2.4 插入NULL值
5.3 更新現有數據
5.3.1 更新一列的數據
5.3.2 更新一條或多記錄里的多個欄位
5.4 從表里刪除數據
5.5 小結
5.6 問與答
5.7 實踐
5.7.1 測驗
5.7.2 練習
第6章 管理資料庫事務
6.1 什麼是事務
6.2 控制事務
6.2.1 COMMIT命令
6.2.2 ROLLBACK命令
6.2.3 SAVEPOINT命令
6.2.4 ROLLBACK TO SAVEPOINT命令
6.2.5 RELEASE SAVEPOINT命令
6.2.6 SET TRANSACTIN命令
6.3 事務控制與資料庫性能
6.4 小結
6.5 問與答
6.6 實踐
6.6.1 測驗
6.6.2 練習
第三部分 從查詢中獲得有效的結果
第7章 資料庫查詢
7.1 什麼是查詢
7.2 SELECT語句
7.2.1 SELECT語句
7.2.2 FROM子句
7.2.3 WHERE子句
7.2.4 ORDER BY子句
7.2.5 大小寫敏感性
7.3 簡單查詢的範例
7.3.1 統計表里的記錄數量
7.3.2 從另一個用戶表里選擇數據
7.3.3 使用欄位別名
7.4 小結
7.5 問與答
7.6 實踐
7.6.1 測驗
7.6.2 練習
第8章 使用操作符對數據進行分類
8.1 什麼是SQL里的操作符
8.2 比較操作符
8.2.1 相等
8.2.2 不等於
8.2.3 小於和大於
8.2.4 比較操作符的組合
8.3 邏輯操作符 8.3.1 IS NULL
8.3.2 BETWEEN
8.3.3 IN
8.3.4 LIKE
8.3.5 EXISTS
8.3.6 ALL、SOME和ANY操作符
8.4 連線操作符
8.4.1 AND
8.4.2 OR
8.5 求反操作符
8.5.1 不相等
8.5.2 NOT BETWEEN
8.5.3 NOT IN
8.5.4 NOT LIKE
8.5.5 IS NOT NULL
8.5.6 NOT EXISTS
8.6 算術操作符
8.6.1 加法
8.6.2 減法
8.6.3 乘法
8.6.4 除法
8.6.5 算術操作符的組合
8.7 小結
8.8 問與答
8.9 實踐
8.9.1 測驗
8.9.2 練習
第9章 匯總查詢得到的數據
9.1 什麼是匯總函式
9.1.1 COUNT函式
9.1.2 SUM函式
9.1.3 AVG函式
9.1.4 MAX函式
9.1.5 MIN函式
9.2 小結
9.3 問與答
9.4 實踐
9.4.1 測驗
9.4.2 練習
第10章 數據排序與分組
10.1 為什麼要對數據進行分組
10.2 GROUP BY子句
10.2.1 分組函式
10.2.2 對選中的數據進行分組
10.2.3 創建分組和使用匯總函式
10.2.4 以整數代表欄位名稱
10.3 GROUP BY與ORDER BY
10.4 CUBE和ROLLUP語句
10.5 HAVING子句
10.6 小結
10.7 問與答
10.8 實踐
10.8.1 測驗
10.8.2 練習
第11章 調整數據的外觀
11.1 ANSI字元函式
11.2 常用字元函式
11.2.1 串接函式
11.2.2 TRANSLATE函式
11.2.3 REPLACE
11.2.4 UPPER
11.2.5 LOWER
11.2.6 SUBSTR
11.2.7 INSTR
11.2.8 LTRIM
11.2.9 RTRIM
11.2.10 DECODE
11.3 其他字元函式
11.3.1 LENGTH
11.3.2 IFNULL(檢查NULL值)
11.3.3 COALESCE
11.3.4 LPAD
11.3.5 RPAD
11.3.6 ASCII
11.4 算術函式
11.5 轉換函式
11.5.1 字元串轉換為數字
11.5.2 數字轉換為字元串
11.6 字元函式的組合使用
11.7 小結
11.8 問與答
11.9 實踐
11.9.1 測驗
11.9.2 練習
第12章 日期和時間
12.1 日期是如何存儲的
12.1.1 日期和時間的標準數據類型
12.1.2 DATETIME元素
12.1.3 不同實現的日期類型
12.2 日期函式
12.2.1 當前日期
12.2.2 時區
12.2.3 時間與日期相加
12.2.4 其他日期函式
12.3 日期轉換
12.3.1 日期描述
12.3.2 日期轉換為字元串
12.3.3 字元串轉換為日期
12.4 小結
12.5 問與答
12.6 實踐
12.6.1 測驗
12.6.2 練習
第四部分 建立複雜的資料庫查詢
第13章 在查詢里結合表
13.1 從多個表獲取數據
13.2 結合的類型
13.2.1 結合條件的位置
13.2.2 等值結合
13.2.3 使用表的別名
13.2.4 不等值結合
13.2.5 外部結合
13.2.6 自結合
13.2.7 結合多個主鍵
13.3 需要考慮的事項
13.3.1 使用基表
13.3.2 笛卡爾積
13.4 小結
13.5 問與答
13.6 實踐
13.6.1 測驗
13.6.2 練習
第14章 使用子查詢定義未確定數據
14.1 什麼是子查詢
14.1.1 子查詢與SELECT語句
14.1.2 子查詢與INSERT語句
14.1.3 子查詢與UPDATE語句
14.1.4 子查詢與DELETE語句
14.2 嵌套的子查詢
14.3 關聯子查詢
14.4 子查詢的效率
14.5 小結
14.6 問與答
14.7 實踐
14.7.1 測驗
14.7.2 練習
第15章 組合多個查詢
15.1 單查詢與組合查詢
15.2 組合查詢操作符
15.2.1 UNION
15.2.2 UNION ALL
15.2.3 INTERSECT
15.2.4 EXCEPT
15.3 組合查詢里使用ORDER BY
15.4 組合查詢里使用GROUP BY
15.5 獲取準確的數據
15.6 小結
15.7 問與答
15.8 實踐
15.8.1 測驗
15.8.2 練習
第五部分 SQL性能調整
第16章 利用索引改善性能
16.1 什麼是索引
16.2 索引是如何工作的
16.3 CREATE INDEX命令
16.4 索引的類型
16.4.1 單欄位索引
16.4.2 唯一索引
16.4.3 組合索引
16.4.4 隱含索引
16.5 何時考慮使用索引
16.6 何時應該避免使用索引
16.7 修改索引
16.8 刪除索引
16.9 小結
16.10 問與答
16.11 實踐
16.11.1 測驗
16.11.2 練習
第17章 改善資料庫性能
17.1 什麼是SQL語句調整
17.2 資料庫調整與SQL語句調整
17.3 格式化SQL語句
17.3.1 為提高可讀性格式化SQL語句
17.3.2 FROM子句里的表
17.3.3 結合條件的次序
17.3.4 最嚴格條件
17.4 全表掃描
17.5 其他性能考慮
17.5.1 使用LIKE操作符和通配符
17.5.2 避免使用OR操作符
17.5.3 避免使用HAVING子句
17.5.4 避免大規模排序操作
17.5.5 使用存儲過程
17.5.6 在批載入時關閉索引
17.6 基於成本的最佳化
17.7 性能工具
17.8 小結
17.9 問與答
17.10 實踐
17.10.1 測驗
17.10.2 練習
第六部分 使用SQL管理用戶和安全
第18章 管理資料庫用戶
18.1 資料庫的用戶管理
18.1.1 用戶的類型
18.1.2 誰管理用戶
18.1.3 用戶在資料庫里的位置
18.1.4 不同規劃里的用戶
18.2 管理過程
18.2.1 創建用戶
18.2.2 創建規劃
18.2.3 刪除規劃
18.2.4 調整用戶
18.2.5 用戶會話
18.2.6 禁止用戶訪問
18.3 資料庫用戶使用的工具
18.4 小結
18.5 問與答
18.6 實踐
18.6.1 測驗
18.6.2 練習
第19章 管理資料庫安全
19.1 什麼是資料庫安全
19.2 什麼是許可權
19.2.1 系統許可權
19.2.2 對象許可權
19.2.3 誰負責授予和撤銷許可權
19.3 控制用戶訪問
19.3.1 GRANT命令
19.3.2 REVOKE命令
19.3.3 控制對單獨欄位的訪問
19.3.4 資料庫賬戶PUBLIC
19.3.5 許可權組
19.4 通過角色控制許可權
19.4.1 CREATE ROLE語句
19.4.2 DROP ROLE語句
19.4.3 SET ROLE語句
19.5 小結
19.6 問與答
19.7 實踐
19.7.1 測驗
19.7.2 練習
第七部分 摘要數據結構
第20章 創建和使用視圖及異名
20.1 什麼是視圖
20.1.1 使用視圖來簡化數據訪問
20.1.2 使用視圖作為一種安全形式
20.1.3 使用視圖維護摘要數據
20.2 創建視圖
20.2.1 從一個表創建視圖
20.2.2 從多個表創建視圖
20.2.3 從視圖創建視圖
20.3 WITH CHECK OPTION
20.4 從視圖創建表
20.5 視圖與ORDER BY子句
20.6 通過視圖更新數據
20.7 刪除視圖
20.8 嵌套視圖對性能的影響
20.9 什麼是異名
20.9.1 創建異名
20.9.2 刪除異名
20.10 小結
20.11 問與答
20.12 實踐
20.12.1 測驗
20.12.2 練習
第21章 使用系統目錄
21.1 什麼是系統目錄
21.2 如何創建系統目錄
21.3 系統目錄里包含什麼內容
21.3.1 用戶數據
21.3.2 安全信息
21.3.3 資料庫設計信息
21.3.4 性能統計
21.4 不同實現里的系統目錄表格
21.5 查詢系統目錄
21.6 更新系統目錄對象
21.7 小結
21.8 問與答
21.9 實踐
21.9.1 測驗
21.9.2 練習
第八部分 在實際工作中套用SQL知識
第22章 高級SQL主題
22.1 游標
22.1.1 打開游標
22.1.2 從游標獲取數據
22.1.3 關閉游標
22.2 存儲過程和函式
22.3 觸發器
22.3.1 CREATE TRIGGER語句
22.3.2 DROP TRIGGER語句
22.3.3 FOR EACH ROW語句
22.4 動態SQL
22.5 調用級接口
22.6 使用SQL生成SQL
22.7 直接SQL與嵌入SQL
22.8 視窗表格函式
22.9 使用XML
22.10 小結
22.11 問與答
22.12 實踐
22.12.1 測驗
22.12.2 練習
第23章 SQL擴展到企業、網際網路和內部網
23.1 SQL與企業
23.1.1 後台程式
23.1.2 前台程式
23.2 訪問遠程資料庫
23.2.1 ODBC
23.2.2 JDBC
23.2.3 OLE DB
23.2.4 廠商連線產品
23.2.5 通過Web接口訪問遠程資料庫
23.3 SQL與網際網路
23.3.1 讓數據可以被全世界的顧客使用
23.3.2 向雇員和授權顧客提供數據
23.4 SQL與內部網
23.5 小結
23.6 問與答
23.7 實踐
23.7.1 測驗
23.7.2 練習
第24章 標準SQL的擴展
24.1 各種實現
24.1.1 不同實現之間的區別
24.1.2 遵循ANSI SQL
24.1.3 SQL的擴展
24.2 擴展範例
24.2.1 Transact-SQL
24.2.2 PL/SQL
24.2.3 MySQL
24.3 互動SQL語句
24.4 小結
24.5 問與答
24.6 實踐
24.6.1 測驗
24.6.2 練習
第九部分 附錄
附錄A 常用SQL命令
A.1 SQL語句
A.2 SQL子句
附錄B 使用資料庫進行練習
B.1 在Windows作業系統中安裝MySQL的指令
B.2 在Windows作業系統中安裝Oracle的指令
B.3 在Windows作業系統中安裝Microsoft SQL Server的指令
附錄C 測驗和練習的答案
附錄D 本書範例的CREATE TABLE語句
D.1 MySQL
D.2 Oracle和SQL Server
附錄E 書中範例所涉數據的INSERT語句
E.1 MySQL和SQL Server
E.1.1 EMPLOYEE_TBL
E.1.2 EMPLOYEE_PAY_TBL
E.1.3 CUSTOMER_TBL
E.1.4 ORDERS_TBL
E.1.5 PRODUCTS_TBL
E.2 Oracle
E.2.1 EMPLOYEE_TBL
E.2.2 EMPLOYEE_PAY_TBL
E.2.3 CUSTOMER_TBL
E.2.4 ORDERS_TBL
E.2.5 PRODUCTS_TBL
附錄F 額外練習
術語表