Oracle 12c SQL 和 PL/SQL 編程指南

Oracle 12c SQL 和 PL/SQL 編程指南

作者: 鄭錚
出版社: 清華大學
出版在: 2020-11-01
ISBN-13: 9787302566328
ISBN-10: 7302566321





內容描述


SQL(Structured Query Language)是關系數據庫的基本操作語言,它主要包括數據查詢(Query statements)、數據操縱(Data Manipulation Language statements)、數據定義(Data Definition Language statements)等功能,是應用程序與數據庫進行交互操作的接口。PL/SQL(Procedural Language/SQL)是Oracle特有的編程語言,它可以像其他高級編程語言一樣,編寫出各種完成數據庫操作功能的程序。由於PL/SQL由Oracle系統本身編譯執行,所以程序的運行效率更高。 《Oracle 12c SQL和PL/SQL編程指南》為Oracle數據庫應用開發人員提供了SQL使用指南和PL/SQL編程技術。通過學習本書,讀者不僅可以掌握SQL和PL/SQL的基礎知識,而且可以掌握Oracle 12c SQL和PL/SQL的許多高級特徵。 《Oracle 12c SQL和PL/SQL編程指南》既可作為高等院校電腦相關專業的輔助教材,也可作為各類高級數據庫編程人員的參考書。本書的編寫既考慮了SQL和PL/SQL的初學者,同時也兼顧了有經驗的PL/SQL編程人員,本書還可以作為Oracle 12c培訓班的教材。


目錄大綱


目   錄
第一部分  Oracle 12c概述
第1章  Oracle簡介 3
1.1   數據庫的產生與發展 4
1.1.1  數據管理技術的產生與發展 4
1.1.2  數據庫技術的發展 6
1.1.3  關系數據庫產品簡介 8
1.2   Oracle的產生與發展 13
1.3   Oracle 12c簡介 17
1.3.1  Oracle數據庫系統的特點 17
1.3.2  Oracle版本號的含義 18
1.3.3  Oracle 12c的新特性 18
第2章  數據庫的建立 21
2.1   數據庫邏輯設計 22
2.1.1  關系數據庫設計基礎 22
2.1.2  關系數據庫規範化 24
2.2   數據庫物理設計 26
2.3   數據庫實施 28
2.4   創建數據庫 29
2.4.1  數據庫創建前的準備 29
2.4.2  安裝數據庫服務器並創建數據庫 30
第3章  SQL與PL/SQL概述 35
3.1   SQL與PL/SQL簡介 36
3.1.1  SQL簡介 36
3.1.2  PL/SQL簡介 38
3.2   SQL*Plus 簡介 40
3.3   範例數據庫表的建立 42
3.3.1  Oracle 12c基本數據類型 43
3.3.2  定義表的結構 44
3.3.3  查看表的結構 47
3.3.4  修改表的結構 49
3.3.5  刪除表 49
3.3.6  添加數據 50
3.3.7  查看數據 52
3.3.8  刪除數據 54
第二部分  SQL操作
第4章  單表查詢 59
4.1   簡單查詢 60
4.1.1  查詢指定列 60
4.1.2  改變輸出 63
4.1.3  空值處理 67
4.2   條件查詢 69
4.2.1  單一條件查詢 70
4.2.2  復合條件查詢 73
4.3   記錄排序 77
4.3.1  按單一列排序 78
4.3.2  按多列排序 80
4.4   分組查詢 81
4.4.1  列函數及其應用 81
4.4.2  GROUP BY子句 83
4.4.3  HAVING子句 85
第5章  子查詢與集合操作 87
5.1   子查詢 88
5.1.1  單行子查詢 88
5.1.2  多行子查詢 89
5.1.3  多列子查詢 91
5.1.4  相關子查詢 92
5.1.5  嵌套子查詢 94
5.2   集合操作 94
5.2.1  集合操作符 95
5.2.2  集合操作的進一步討論 101
第6章  連接查詢 107
6.1   內連接查詢 108
6.1.1  簡單內連接 108
6.1.2  復雜內連接 110
6.2   外連接查詢 111
6.2.1  左外連接 112
6.2.2  右外連接 113
6.2.3  全外連接 114
6.3   其他特殊連接 116
6.3.1  交叉連接 116
6.3.2  自連接 118
第7章  數據操縱語言與事務處理 121
7.1   數據操縱語言 122
7.1.1  插入數據(INSERT) 122
7.1.2  更新數據(UPDATE) 123
7.1.3  刪除數據(DELETE、TRUNCATE TABLE) 125
7.1.4  數據庫完整性 126
7.1.5  含有子查詢的DML語句 128
7.2   數據事務處理 130
7.2.1  顯式處理事務 130
7.2.2  隱式處理事務 132
7.2.3  特殊事務 133
第8章  SQL函數 135
8.1   數字函數 136
8.1.1  數字函數概述 136
8.1.2  數字函數示例 136
8.2   字符函數 142
8.2.1  字符函數概述 142
8.2.2  字符函數示例 143
8.3   日期時間函數 146
8.3.1  日期時間函數概述 147
8.3.2  日期時間函數示例 147
8.4   轉換函數 150
8.4.1  轉換函數概述 150
8.4.2  轉換函數示例 151
第9章  數據控制語言與數據定義語言 155
9.1   數據控制語言 156
9.1.1  數據庫權限 156
9.1.2  權限控制 159
9.2   表 164
9.2.1  建立表 164
9.2.2  獲得表的相關信息 168
9.2.3  修改表定義 169
9.2.4  修改表名 175
9.2.5  刪除表 176
9.3   索引 176
9.3.1  建立索引 176
9.3.2  獲得索引信息 177
9.3.3  修改索引名字 178
9.3.4  刪除索引 178
9.4   視圖 178
9.4.1  建立視圖 179
9.4.2  使用視圖 180
9.4.3  獲得視圖定義信息 183
9.4.4  修改視圖 184
9.4.5  刪除視圖 184
第三部分  PL/SQL編程指南
第10章  PL/SQL編程基礎 187
10.1   PL/SQL語言基礎 188
10.1.1  PL/SQL塊簡介 188
10.1.2  PL/SQL基本語法要素 190
10.1.3  變量及其數據類型 193
10.2   在PL/SQL中執行SQL語句 197
10.2.1  執行SELECT語句 197
10.2.2  執行DML語句 199
10.2.3  執行事務處理語句 204
10.3   PL/SQL程序控制結構 205
10.3.1  順序結構 205
10.3.2  分支結構 206
10.3.3  循環結構 211
10.3.4  GOTO語句與NULL語句 214
10.4   異常處理 216
10.4.1  異常的基本概念 216
10.4.2  系統異常處理 219
10.4.3  自定義異常處理 222
10.4.4  使用異常函數 224
10.5   游標 225
10.5.1  游標應用基礎 225
10.5.2  游標應用 227
10.5.3  游標FOR循環 230
10.5.4  游標的復雜應用 232
第11章  復合數據類型 239
11.1   記錄類型 240
11.1.1  定義記錄 240
11.1.2  在SELECT語句中使用記錄 241
11.1.3  在DML中使用記錄 244
11.2   記錄表類型 248
11.2.1  定義記錄表 248
11.2.2  使用記錄表 249
11.3   聯合數組類型 251
11.3.1  定義聯合數組 251
11.3.2  使用聯合數組 251
11.4   嵌套表類型 253
11.4.1  定義嵌套表 254
11.4.2  使用嵌套表 254
11.5   變長數組類型 257
11.5.1  定義變長數組 257
11.5.2  使用變長數組類型 258
11.6   集合操作 261
11.6.1  集合屬性與方法 261
11.6.2  使用集合操作符 268
第12章  應用程序結構 275
12.1   子程序 276
12.1.1  過程 276
12.1.2  函數 286
12.2   包 293
12.2.1  定義包 294
12.2.2  包的管理 295
12.2.3  調用包 298
12.2.4  包中子程序的重載 299
12.3   觸發器 301
12.3.1  概述 301
12.3.2  DML觸發器 305
12.3.3  INSTEAD OF觸發器 308
12.3.4  系統事件觸發器 310
參考文獻 312




相關書籍

PostgreSQL 實戰

作者 譚峰 張文升

2020-11-01

Linux and Solaris Recipes for Oracle DBAs

作者 Darl Kuhn

2020-11-01

Delivering Business Intelligence with Microsoft SQL Server 2016, Fourth Edition

作者 Brian Larson

2020-11-01