目錄
齣版說明
前言
第一篇 關係數據庫與SQL語言
第1章 關係數據庫介紹 1
1.1 數據模型 1
1.1.1 概念模型 1
1.1.2 關係數據模型 3
1.2 關係模式 3
1.3 常用關係數據庫 4
1.3.1 Oracle數據庫 4
1.3.2 Microsoft SQL Server數據庫 4
1.3.3 MySQL數據庫 4
1.3.4 PostgreSQL數據庫 5
1.4 安裝與使用MySQL 5.0數據庫 5
1.4.1 安裝MySQL 5.0 5
1.4.2 安裝用戶圖形界麵 7
1.4.3 運行MySQL 5.0 8
1.5 小結 9
第2章 SQL語言概述 10
2.1 SQL語言介紹 10
2.2 SQL語句的分類 11
2.3 SQL語言的特點 11
2.4 常用數據類型 12
2.4.1 整數類型與浮點類型 12
2.4.2 數值類型 13
2.4.3 字符類型 13
2.4.4 日期與時間類型 14
2.4.5 二進製類型 15
2.5 SQL語句書寫規範 15
2.6 小結 16
第二篇 數據庫與數據錶的創建和管理
第3章 數據庫的創建與刪除 17
3.1 創建數據庫 17
3.1.1 使用SQL語句創建數據庫 17
3.1.2 在MySQL 5.0 Command Line Client窗口下創建數據庫 18
3.1.3 在MySQL 5.0用戶圖形界麵中創建數據庫 18
3.2 刪除數據庫 19
3.2.1 使用SQL語句刪除數據庫 19
3.2.2 在MySQL 5.0 Command Line Client窗口下刪除數據庫 19
3.2.3 在MySQL 5.0用戶圖形界麵中刪除數據庫 20
3.3 小結 21
第4章 數據錶的創建與更新 22
4.1 數據庫中的錶 22
4.1.1 數據記錄、屬性、字段、列和行 22
4.1.2 主鍵 23
4.1.3 外鍵 23
4.1.4 索引 24
4.1.5 約束 24
4.2 創建數據錶 25
4.3 使用約束 27
4.3.1 唯一約束 27
4.3.2 主鍵約束 28
4.3.3 外鍵約束 30
4.3.4 檢查約束 31
4.3.5 非空約束 32
4.4 使用索引 33
4.4.1 索引的分類 33
4.4.2 創建與刪除索引 33
4.5 修改數據庫中的錶 35
4.5.1 嚮錶中增加一列 35
4.5.2 增加一個約束條件 36
4.5.3 增加一個索引 37
4.5.4 修改錶中的某一列 38
4.5.5 刪除錶中某一列 38
4.5.6 刪除一個約束條件 39
4.6 刪除數據庫中的錶 39
4.7 數據庫test_STInfo中的錶 39
4.7.1 學生信息錶T_student 40
4.7.2 課程信息錶T_curriculum 40
4.7.3 成績信息錶T_result 40
4.7.4 教師信息錶T_teacher 41
4.7.5 院係信息錶T_dept 41
4.7.6 計算機係教師信息錶T_CSteacher 41
4.8 小結 42
第三篇 數 據 查 詢
第5章 基本查詢操作 43
5.1 查詢全部列的記錄 43
5.2 查詢錶中指定的列 44
5.3 查詢錶中不重復的記錄 45
5.4 使用列彆名查詢 46
5.5 對查詢的記錄進行算術運算 47
5.6 使用連接符(Ⅱ)連接字段
5.7 關於NULL值
5.8 小結
第6章使用WHERE子句查詢錶中滿足條件的記錄
6.1 比較查詢
6.1.1 算術比較運算符
6.1.2 BETWEENAND運算符查詢指定條件範圍的記錄
6.1.3 IN運算符查詢與列錶匹配的記錄
6.1.4 字符串比較
6.1.5 日期時間的比較
6.2 邏輯查詢
6.2.1 使用AND運算符查詢同時滿足多個條件的記錄
6.2.2 使用OR運算符查詢滿足任一條件的記錄
6.2.3 使用NOT運算符查詢滿足相反條件的記錄
6.2.4 復雜邏輯查詢
6.3 空值查詢
6.4 使用LIKE操作符實現模糊查詢
6.4.1 匹配任意單個字符
6.4.2 匹配O個或者多個字符
6.4.3 使用轉義字符
6.5 使用REGEXP關鍵字進行模式匹配
6.6 小結
第7章 錶中數據的排序與分組
7.1 使用ORDERBY子句對數據記錄進行排序
7.1.1 指定錶中的一列進行排序
7.1.2 指定錶中列的位置序號進行排序
7.1.3 對SELECT語句中的非選擇列進行排序
7.1.4 指定錶中的多列進行排序
7.2 常用的聚閤函數
7.3 使用GROIJPBY子句對錶中數據進行分組
7.3.1 單列分組
7.3.2 多列分組
7.3.3 使用H.AVING限製分組後的查詢結果
7.3.4 對分組結果進行排序
7.3.5 GROUPBY子句中處理NULL值
7.4 使用ROLLUP關鍵字統計數據
7.5 限製結果集行數
7.5.1 使用MySQL數據庫限製結果集行數
7.5.2 使用Oracle數據庫限製結果集行數
7.5.3 使用MicrosoftSQLServer數據庫限製結果集行數
7.6 小結
第8章 連接查詢與集閤查詢
8.1 內連接查詢
8.1.1 等值連接
8.1.2 非等值連接
8.1.3 使用ON子句建立相等連接
8.1.4 使用USING子句建立相等連接
8.2 交叉連接
8.3 自連接查詢
8.4 外連接查詢
8.4.1 左外連接
8.4.2 右外連接
8.4.3 全外連接
8.5 集閤查詢
8.5.1 並操作
8.5.2 交操作
8.5.3 差操作
8.6 小結
第9章 子查詢
9.1 單行子查詢
9.2 多行子查詢
9.2.1 使用IN運算符的子查詢
……
第10章 常用函數
第11章 視圖的創建與刪除
第四篇 數據更新
第12章 插入數據記錄
第13章 修改數據記錄
第14章 刪除數據記錄
第五篇 數據控製
第15章 權限的授予與迴收
第16章 事務的控製與管理
第六篇 PL/SQL
第17章 PL/SQL概述
第18章 PL/SQL基礎
第19章 PL/SQL中的控製結構
第20章 使用遊標
第21章 異常處理
第22章 存儲過程
第23章 函數
第24章 包
第25章 觸發器
第七篇 SQL應用
第26章 SQL語句性能優化
第27章 動態SQL
第28章 數據庫的存取訪問
附錄A 常用SQL語句
附錄B 常用函數對照
序言
在實際的應用開發中,無論是應用軟件的開發人員還是數據庫的管理人員都需要與數據庫打交道,而SQL語言作為數據庫語言之一,是關係數據庫係統中最常用的一種語言。因此全麵瞭解並掌握SQL語言無論是對於軟件開發人員還是對數據庫的管理人員都是非常重要的。
大多數有關數據庫的圖書一般都會涉及關係數據庫基本理論、數據庫的設計與管理等方麵的內容,對SQL語句部分並沒有詳細的闡述。本書是一本從基礎知識開始全麵講解SQL的圖書,從最簡單的數據查詢開始,到對數據的排序分組,再到一些復雜的數據查詢,例如,數據錶的連接、子查詢以及一些數據庫中的常用函數,然後再漸進到PL/SQL編程基礎,PL/SQL中常量、變量、記錄、集閤的聲明和使用,以及控製結構、存儲過程、函數、包、觸發器的創建和使用,在SQL應用中介紹瞭查詢優化、動態以及使用高級程序設計語言通過SQL實現對數據庫中數據的存取訪問,循序漸進、係統全麵地介紹瞭SQL的相關知識。
本書特點
1. 由淺入深,循序漸進
為瞭方便讀者學習,本書從關係數據庫的基礎知識講起,以易於安裝的開源數據庫MySQL 5.0為基礎,從SQL語句的基本語法入手,從簡單的數據檢索到對數據的排序分組再到數據錶的連接、子查詢,然後再漸進到PL/SQL編程、查詢優化、SQL應用開發。
2. 內容全麵,結構清晰
不同的數據庫係統對SQL的支持和擴展存在很大差異。為瞭方便讀者學習,本書充分對比SQL Server、Oracle、MySQL在SQL實現上的差異,進行詳細講解。讀者通過本書,可以全麵掌握三種數據庫的SQL使用。同時,本書按照數據定義語言(DDL)、數據查詢語言(DQL)、數據操作語言(DML)、數據控製語言(DCL)、事務控製語言、SQL的擴展PL/SQL編程的順序對SQL語句進行全麵的講解。
3. 實例豐富,結閤實際
本書對於每一個SQL語句的講解都配有多個實例,使讀者在瞭解SQL語法的同時,能夠真正掌握其用法。同時結閤目前主流的數據庫Microsoft SQL Server和Oracle,對SQL語句在這些數據庫中的使用差彆也都在實例中給齣瞭相應的實現方法。
4. 查詢方便,便於自學
對於大部分的SQL語句采用“語法規範、語法說明、實例代碼、實例講解、顯示結果”的結構進行闡述。對於每一個SQL和PL/SQL語句都進行瞭詳細講解,便於讀者理解。在本書的附錄中還提供瞭常用SQL語句和在MySQL、Microsoft SQL Server以及Oracle數據庫中常用函數的對照錶,便於讀者對每一部分進行查詢和學習
· · · · · · (
收起)