分享一本不錯的書 — 精通Oracle Database 12c SQL & PL/SQL編程(第3版)

来源:https://www.cnblogs.com/fetty/archive/2020/05/03/12820525.html
-Advertisement-
Play Games

精通Oracle Database 12c SQL & PL/SQL編程(第3版) 內容簡介 學習通過編寫SQL語句並構建PL/SQL程式來訪問Oracle資料庫。《精通OracleDatabase12cSQL&PL/SQL編程(第3版)》完全涵蓋了*新版本Oracle資料庫的功能和技術,指導讀者編 ...


精通Oracle Database 12c SQL & PL/SQL編程(第3版)

 

 

內容簡介
  學習通過編寫SQL語句並構建PL/SQL程式來訪問Oracle資料庫。《精通OracleDatabase12cSQL&PL/SQL編程(第3版)》完全涵蓋了*新版本Oracle資料庫的功能和技術,指導讀者編寫SQL語句以檢索和修改資料庫中的信息、掌握SQL*Plus和SQLDeveloper、處理資料庫對象、編寫PL/SQL程式、採用性能優化技術、結合XML以及其他技術。這本Oracle指南包含掌握SQL所需的全部知識。

精通Oracle Database 12c SQL & PL/SQL編程(第3版)目錄

版權信息

譯者序

前言

第1章 簡介
1.1 關係資料庫簡介
1.2 SQL簡介
1.3 使用SQL*Plus
1.4 使用SQL Developer
1.5 創建store模式
1.6 添加、修改和刪除行
1.7 連接資料庫和斷開連接
1.8 退出SQL*Plus
1.9 Oracle PL/SQL簡介
1.10 小結
第2章 從資料庫表中檢索信息
2.1 對單表執行SELECT語句
2.2 選擇一個表中的所有列
2.3 使用WHERE子句限定行
2.4 行標識符
2.5 行號
2.6 執行算術運算
2.7 使用列別名
2.8 使用連接操作合併列的輸出結果
2.9 空值
2.10 禁止顯示重覆行
2.11 比較值
2.12 使用SQL操作符
2.13 使用邏輯操作符
2.14 邏輯操作符的優先順序
2.15 使用ORDER BY子句對行進行排序
2.16 執行使用兩個表的SELECT語句
2.17 使用表別名
2.18 笛卡爾積
2.19 執行使用多於兩個表的SELECT語句
2.20 連接條件和連接類型
2.21 使用SQL/92語法執行連接
2.22 小結
第3章 使用SQL*Plus
3.1 查看表的結構
3.2 編輯SQL語句
3.3 保存、檢索並運行文件
3.4 格式化列
3.5 設置頁面大小
3.6 設置行大小
3.7 清除列的格式
3.8 使用變數
3.9 創建簡單報表
3.10 從SQL*Plus獲取幫助信息
3.11 自動生成SQL語句
3.12 斷開資料庫連接並退出SQL*Plus
3.13 小結
第4章 使用簡單函數
4.1 使用單行函數
4.2 使用聚合函數
4.3 對行進行分組
4.4 小結
第5章 日期和時間的存儲與處理
5.1 幾個簡單的存儲和檢索日期的例子
5.2 使用TO_CHAR()和TO_DATE()轉換時間值
5.3 設置預設的日期格式
5.4 Oracle對兩位年份的處理
5.5 使用時間值函數
5.6 使用時區
5.7 使用時間戳
5.8 使用時間間隔
5.9 小結
第6章 子查詢
6.1 子查詢的類型
6.2 編寫單行子查詢
6.3 編寫多行子查詢
6.4 編寫多列子查詢
6.5 編寫關聯子查詢
6.6 編寫嵌套子查詢
6.7 編寫包含子查詢的UPDATE和DELETE語句
6.8 使用子查詢因數化
6.9 小結
第7章 高級查詢
7.1 使用集合操作符
7.2 使用TRANSLATE()函數
7.3 使用DECODE()函數
7.4 使用CASE表達式
7.5 層次化查詢
7.6 使用ROLLUP和CUBE子句
第8章 分析數據
8.1 使用分析函數
8.2 使用MODEL子句
8.3 使用PIVOT和UNPIVOT子句
8.4 執行Top-N查詢
8.5 在數據中發現模式
8.6 小結
第9章 修改表的內容
9.1 使用INSERT語句添加行
9.2 使用UPDATE語句修改行
9.3 使用RETURNING子句返回聚合函數的計算結果
9.4 使用DELETE語句刪除行
9.5 資料庫的完整性
9.6 使用預設值
9.7 使用MERGE合併行
9.8 資料庫事務
9.9 查詢閃回
9.10 小結
第10章 用戶、特權和角色
資料庫存儲簡介
10.1 用戶
10.2 系統特權
10.3 對象特權
10.4 角色
10.5 審計
10.6 小結
第11章 創建表、序列、索引和視圖
11.1 表
11.2 序列
11.3 索引
11.4 視圖
11.5 閃回數據歸檔
11.6 小結
第12章 PL/SQL編程簡介
12.1 塊結構
12.2 變數和類型
12.3 條件邏輯
12.4 迴圈
12.5 游標
12.6 異常
12.7 過程
12.8 函數
12.9 包
12.10 觸發器
12.11 其他PL/SQL特性
12.12 小結
第13章 資料庫對象
13.1 對象簡介
運行腳本以創建對象模式
13.2 創建對象類型
13.3 使用DESCRIBE獲取有關對象類型的信息
13.4 在資料庫表中使用對象類型
13.5 在PL/SQL中使用對象
13.6 類型繼承
13.7 用子類型對象代替超類型對象
13.8 其他有用的對象函數
13.9 NOT INSTANTIABLE對象類型
13.10 用戶自定義的構造函數
13.11 重載方法
13.12 通用調用
13.13 小結
第14章 集合
14.1 集合簡介
運行腳本以創建集合模式
14.2 創建集合類型
14.3 使用集合類型定義表列
14.4 獲取集合信息
14.5 填充集合元素
14.6 檢索集合元素
14.7 使用TABLE()函數將集合視為一系列行
14.8 更改集合元素
14.9 使用映射方法比較嵌套表的內容
14.10 使用CAST()函數將集合從一種類型轉換為另一種類型
14.11 在PL/SQL中使用集合
14.12 創建和使用多級集合
14.13 Oracle Database 10g對集合的增強
14.14 小結
第15章 大對象
15.1 大對象(LOB)簡介
15.2 示例文件
15.3 理解大對象類型
15.4 創建包含大對象的表
15.5 在SQL中使用大對象
15.6 在PL/SQL中使用大對象
15.7 LONG和LONG RAW類型
15.8 Oracle Database 10g對大對象的增強
15.9 Oracle Database 11g對大對象的增強
15.10 Oracle Database 12c對大對象的增強
15.11 小結
第16章 SQL優化
16.1 SQL優化簡介
16.2 使用WHERE子句過濾行
16.3 使用表連接而不是多個查詢
16.4 執行連接時使用完全限定的列引用
16.5 使用CASE表達式而不是多個查詢
16.6 添加表索引
16.7 使用WHERE而不是HAVING
16.8 使用UNION ALL而不是UNION
16.9 使用EXISTS而不是IN
16.10 使用EXISTS而不是DISTINCT
16.11 使用GROUPING SETS而不是CUBE
16.12 使用綁定變數
16.13 比較執行查詢的成本
16.14 為優化器傳遞提示
16.15 其他優化工具
16.16 小結
第17章 XML和Oracle資料庫
17.1 XML簡介
17.2 從關係數據生成XML
17.3 將XML保存到資料庫中
17.4 小結
附錄 Oracle數據類型

前言
  現在的資料庫管理系統使用一種標準語言——結構化查詢語言(StructuredQueryLanguage,SQL)訪問。此外,SQL還可以對資料庫中的信息進行檢索、添加、更新和刪除。本書將介紹如何真正掌握SQL,同時還會給出許多實用的例子。讀者可以通過網路獲得本書中用到的所有腳本和程式(詳細信息參看後文“本書源代碼下載”部分)。
  通過本書讀者可以:
  掌握標準的SQL,以及Oracle公司為了使用Oracle資料庫的特性而開發的一些擴展。
  理解PL/SQL,它允許用戶編寫包含SQL語句的程式。
  使用SQL*Plus執行SQL語句、腳本和報表;SQL*Plus是一個用於與資料庫進行交互的工具。
  對資料庫執行查詢、插入、更新和刪除操作。
  創建資料庫表、序列、索引、視圖和用戶。
  執行包含多條SQL語句的事務。
  定義資料庫對象類型,以及創建對象表來處理高級數據。
  使用大對象來處理包含圖像、音樂和電影的多媒體文件。
  使用分析函數執行複雜計算。
  實現高性能的優化技術,使SQL語句可以快速執行。
  探討Oracle資料庫的XML功能。
  使用*新的OracleDatabase12cSQL功能。
  本書共包含17章和一個附錄。
  第1章簡介
  本章將介紹有關關係資料庫和SQL的知識,然後給出幾個簡單查詢,並使用SQL*Plus和SQLDeveloper執行這些查詢,*後簡要介紹PL/SQL。
  第2章從資料庫表中檢索信息
  本章將展示如何使用SELECT語句從一個或多個資料庫表中檢索信息,如何使用算術表達式執行計算,如何使用WHERE子句對行進行過濾,以及如何對從表中檢索出的行排序。
  第3章使用SQL*Plus
  本章將介紹使用SQL*Plus來查看表的結構,編輯SQL語句,保存並運行腳本,設置列的輸出格式,定義並使用變數,以及創建報表。
  第4章使用簡單函數
  本章將介紹有關Oracle資料庫中內置函數的知識。函數可以接受輸入參數,並返回輸出參數1。使用函數可以實現很多功能,例如計算一組數字的平均值和平方根。
  第5章日期和時間的存儲與處理
  本章將介紹Oracle資料庫如何處理與存儲日期和時間(二者合稱時間值)。本章還將介紹如何使用時間戳來存儲特定的日期和時間,如何使用時間間隔來存儲一定長度的時間段。
  第6章子查詢
  本章將介紹如何在外部的SQL語句中放置SELECT語句。內部的SELECT語句被稱為子查詢。本章還將介紹子查詢的各種類型,以及如何使用子查詢從簡單部件構建複雜語句。
  第7章高級查詢
  本章將介紹如何執行包含高級操作符和函數的查詢。例如,集合操作符可以合併由多個查詢返回的行,TRANSLATE()函數可以將一個字元串中的字元轉換為另一個字元串中的字元,DECODE()函數可以在一組值中搜索某個特定的值,CASE表達式可以執行if-then-else邏輯,ROLLUP和CUBE子句可以返回包含小計的行。OracleDatabase12c中新增加了CROSSAPPLY和OUTERAPPLY來合併兩條SELECT語句返回的行,還增加了LATERAL以返回數據的內聯視圖。
  第8章分析數據
  本章將介紹有關分析函數的知識,分析函數可以用來執行複雜計算,例如查找每月銷量*高的產品類型、業績*佳的銷售員等。本章還將介紹如何對層次化組織的數據進行查詢,並將探討如何使用MODEL子句執行行間計算。*後,我們會講解PIVOT和UNPIVOT子句,使用它們可以瞭解大量數據的整體趨勢。OracleDatabase12c中新增加了MATCH_RECOGNIZE子句來查找數據中的模式,還增加了FETCHFIRST子句來執行top-N查詢。
  第9章修改表的內容
  本章將介紹如何使用INSERT、UPDATE和DELETE語句添加、修改和刪除行,如何使用COMMIT語句使事務的處理結果永久生效,或者使用ROLLBACK語句完全取消事務執行的操作。本章還將介紹Oracle資料庫如何同時處理多個事務。
  第10章用戶、特權和角色
  本章將介紹有關資料庫用戶的知識以及如何使用特權和角色來控制用戶可以在資料庫中執行的特定任務。
  第11章創建表、序列、索引和視圖
  本章將介紹有關表、序列和索引的知識。序列會生成一系列數字,而索引就如同書籍的索引,可以幫助讀者快速訪問表中的行。本章還將介紹有關視圖的知識,視圖是對一個或多個表預定義的查詢。視圖可以對用戶屏蔽複雜性,並通過只允許視圖訪問表中有限的數據集,從另一層面上實現安全特性。本章還將討論閃回數據歸檔,這會將對錶所做的改變存儲一段時間。OracleDatabase12c中新增加了在表中定義可見列和不可見列的能力。
  第12章PL/SQL編程簡介
  本章將介紹有關PL/SQL的知識,PL/SQL構建在SQL基礎之上,使用PL/SQL可以在資料庫中編寫包含SQL語句的存儲程式。PL/SQL包含標準的編程結構。
  第13章資料庫對象
  本章將介紹如何創建資料庫對象類型,資料庫對象類型可以包括屬性和方法;還將介紹如何使用對象類型來定義列對象和對象表,以及如何使用SQL和PL/SQL來操縱對象。
  第14章集合
  本章將介紹如何創建集合類型,集合可以包含多個元素;還將介紹如何使用集合類型來定義表中的列,以及如何使用SQL和PL/SQL來操縱集合。
  第15章大對象
  本章將介紹有關大對象的知識,大對象可以用來存儲多達128TB的字元和二進位數據(也可以是指向外部文件的指針);此外,還將介紹有關較舊的LONG類型的知識,為了保持向後相容性,在OracleDatabase12c中依然支持LONG類型。
  第16章SQL優化
  本章將介紹SQL優化的一些技巧,這些技巧可以用來縮短查詢執行的時間;本章還將介紹有關Oracle優化器的知識,以及如何向優化器傳遞一些提示。此外還介紹瞭如何使用高級調優工具。
  第17章XML和Oracle資料庫
  可擴展標記語言(XML)是一種通用標記語言,可用來在Internet上共用結構化數據,並可用來編碼數據和其他文檔。本章將介紹如何從關係數據生成XML,以及如何將XML保存到資料庫中。
  附錄Oracle數據類型
  本附錄列出了OracleSQL和PL/SQL中可以使用的數據類型。
  本書讀者對象
  本書適用於以下讀者:
  需要編寫SQL和PL/SQL的開發人員
  需要深入瞭解SQL的資料庫管理員
  需要編寫SQL查詢來從自己公司的資料庫中獲得信息的業務用戶
  需要簡單瞭解SQL和PL/SQL的技術主管和技術顧問
  讀者閱讀本書,不需要預先瞭解Oracle資料庫、SQL或PL/SQL的知識;本書為讀者提供了成為這方面專家所需的全部知識。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 十二、HTTPS安全證書訪問連接實踐配置 (一)網路安全涉及的問題 (二)網路安全涉及的問題 ①. 網路安全問題 數據機密性問題解決 ②. 網路安全問題 數據完整性問題解決 ③. 網路安全問題 身份驗證問題解決 (三)網路安全證書由來: (四) OpenSSL軟體詳細說明 第二步:生成證書文件信息 ...
  • 十一、keepalived高可用集群章節 (一)keepalived服務概念說明 (二)部署keepalived高可用服務 1)確認反向代理服務是否工作正常 第一個裡程:在lb01/lb02上測試web伺服器是否可以正常 第二個裡程:在瀏覽器上測試訪問lb01/lb02 2)安裝部署高可用keepa ...
  • 十、nginx反向代理負載均衡 (一)LNMP架構遷移資料庫說明 遷移資料庫:利用資料庫備份命令(mysql mysqladmin mysqldump) 1) 備份資料庫資料庫信息 2) 恢複數據庫資料庫信 第四里程:在負載均衡伺服器上,進行測試訪問 ②. 部署負載均衡伺服器 第一個裡程:安裝部署n ...
  • 九、期中架構LNMP章節 (一)LNMP架構說明 (二)LNMP架構工作原理 (三)LNMP架構部署 1)安裝LNMP相關軟體 ①. 部署Linux系統 基礎優化操作要完成(防火牆關閉 關閉selinux /tmp許可權為1777) ②. 部署nginx服務 見上一章節 ③. 部署mysql服務 yu ...
  • 常規的設置ubuntu中文設置操作可以參考這篇文章:http://www.xitongzhijia.net/xtjc/20181218/144658.html 如果按照上面的操作依舊無法把ubuntu設置為中文有一種更直接的方法 如下: 步驟1:打開終端 步驟2: 如果是ubuntu14.0 在終端 ...
  • ACL(access control list)翻譯過來就是訪問控制列表;相信ACL這個詞對大家都不是太陌生;Linux里的許可權里有ACL,httpd、nginx、varnish里都有ACL的概念;訪問控制列表(ACL)的使用提供了一個靈活的解決方案來執行內容切換,並通常根據從請求、響應或任何環境... ...
  • 關於i.MXRT系列的eFuse/OTP,痞子衡之前在介紹Boot時寫過兩篇,分別是針對RT1050的《eFuse及其燒寫方法》和針對RT600的《OTP及其燒寫方法》,今天要介紹的i.MXRT1170 eFuse其實是這兩者的融合,在空間組織上(尤其是Shadow Register)更像RT105... ...
  • Ubuntu 團隊通過郵件列表宣佈推出 Ubuntu 20.04 LTS 最終 Beta 版本,並預告穩定版將於2020年4月23日發佈。雖然是最終的 Beta 版本,但畢竟尚處於測試階段,因此不建議在生產環境或主力電腦上使用。 20.04 LTS 代號為"Focal Fossa",將會獲得 5 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...