《Oracle資料庫編程經典300例》是2013年9月1日電子工業出版社出版的圖書,作者是肖俊宇。
基本介紹
內容簡介,編輯推薦,作者簡介,目錄,序言,
內容簡介
Oracle資料庫是目前世界上使用最為廣泛的資料庫管理系統,具有完整的數據管理功能;PL/SQL是Oracle對標準資料庫語言SQL的過程化擴充,讓Oracle的數據管理和程式設計效率更高。本書是一本特別注重實戰的Oracle資料庫入門及管理工具書,書中一共集成了300多個日常管理資料庫的實例。本書每個實例都有圖文並茂的實現步驟、實例解析,使讀者能夠很輕鬆地按照書中的例子進行操作,從而掌握如何去操作和管理Oracle資料庫。
編輯推薦
肖俊宇編著的《Oracle資料庫編程經典300例(附光碟)》精心選擇了300多個實例,主要對Oracle的基本操作語句和資料庫管理,給出了實際套用中常見問題的解決方案和解決模式,也加入了筆者多年的資料庫管理實踐中的經驗和技巧。本書的實例儘量求簡,通過簡單的套用實現直接反映Oracle的語句和管理技巧,避免了大篇幅的理論介紹,讀者可以從中體會到Oracle便捷的操作和強大的功能。
作者簡介
肖俊宇
Oracle資料庫運維專家,副教授。網名“風影”,取自跳躍靈動之美的含義。於1995年畢業於江西師範大學,主要從事關係資料庫運維、網路安全管理和教育技術等方面的教學與研究工作。現為某省公安廳信息網路安全工程師、市網路與信息安全應急管理專家、信息化創新團隊帶頭人。
Oracle資料庫運維專家,副教授。網名“風影”,取自跳躍靈動之美的含義。於1995年畢業於江西師範大學,主要從事關係資料庫運維、網路安全管理和教育技術等方面的教學與研究工作。現為某省公安廳信息網路安全工程師、市網路與信息安全應急管理專家、信息化創新團隊帶頭人。
目錄
第1篇初識OraclePL/SQL
第1章走進OraclePL/SQL2
實例001安裝Oracle10g2
實例002啟動SQL*Plus工具7
實例003使用SQL*Plus命令行工具8
實例004配置連線字元串10
實例005使用PL/SQLDeveloper工具11
實例006啟動和關閉Oracle12
實例007創建PL/SQL塊14
實例008使用變數輸出字元串16
實例009變數初始化及存儲數據記錄17
實例010使用常量計算圓面積18
實例011使用宿主變數19
實例012輸出指定精度的數據20
實例013獲取當前日期時間21
實例014使用記錄類型輸出數據表中的一行22
實例015引用並輸出數據表中的列23
第2章運算元據表結構25
實例016使用CREATETABLE命令創建基本表25
實例017使用ALTERTABLE命令增加新欄位27
實例018使用ALTERTABLE命令修改欄位28
實例019使用ALTERTABLE命令刪除欄位29
實例020重命名基本表30
實例021複製相同結構的表31
實例022使用DROPTABLE命令刪除表33
實例023創建主鍵約束34
實例024創建唯一性約束35
實例025創建CHECK約束37
實例026創建外鍵約束39
實例027刪除約束40
實例028為欄位設定默認值42
第2篇數據查詢
第3章簡單數據查詢46
實例029查詢輸出基本表中指定列46
實例030對數據列進行運算並輸出47
實例031單條件查詢49
實例032根據查詢結果創建和複製表50
實例033返回表中的前N行記錄51
實例034消除重複行52
實例035NULL值的判定54
實例036查詢欄位值為某個範圍內的記錄55
實例037返回欄位值為列表中某個值的記錄56
實例038條件組合查詢57
實例039複合條件查詢59
實例040實現模糊查詢61
實例041使用ESCAPE和轉義字元62
第4章數據查詢中函式的使用64
實例042使用COUNT函式統計表中的記錄數64
實例043使用SUM函式求和66
實例044使用AVG函式求平均值67
實例045返回最大值68
實例046返回最小值69
實例047查找並替換字元串70
實例048獲取字元的ASCII碼71
實例049返回字元串長度72
實例050使用ROUND函式確定精度73
實例051日期運算74
實例052日期格式化輸出75
實例053提取日期特定部分77
實例054數據類型轉換79
實例055提取日期的星期值80
實例056提取一年中的第幾天81
實例057計算時間差82
實例058獲取某月的第一天與最後一天83
實例059NVL函式的使用85
第5章高級查詢87
實例060使用GROUPBY子句實現分組87
實例061按條件查詢並分組89
實例062使用CUBE匯總數據90
實例063使用ROLLUP匯總數據91
實例064用GROUPING函式區分NULL值93
實例065使用HAVING子句過濾分組數據94
實例066區別HAVING子句與WHERE子句95
實例067使用ORDERBY子句排序96
實例068對字元串列排序98
實例069多列排序100
實例070對查詢進行集合運算101
實例071返回多個表的共有數據102
實例072返回各個表的所有數據103
實例073無條件多表查詢104
實例074有共同欄位的表等值連線105
實例075含條件的等值連線106
實例076有共同欄位的表非等值連線107
實例077兩個表進行內連線108
實例078兩個表進行自然連線109
實例079一個表進行自連線110
實例080兩個表進行左外連線111
實例081兩個表進行右外連線112
實例082兩個表進行全外連線113
實例083多表連線114
第6章子查詢116
實例084返回單行的子查詢116
實例085含有聚合函式的單行子查詢118
實例086多表查詢中返回結果為單行的子查詢119
實例087用IN謂詞實現多行子查詢120
實例088多表查詢中使用IN謂詞122
實例089EXISTS子查詢123
實例090EXISTS替代單行子查詢124
實例091相關子查詢125
實例092含聚合函式的相關子查詢126
實例093帶IN謂詞的相關子查詢127
實例094包含分組的相關子查詢128
實例095帶ANY的子查詢130
實例096帶ALL的子查詢131
實例097嵌套子查詢132
實例098FROM子句後的子查詢134
……
第3篇數據操縱DML
第4篇數據安全套用
第5篇Oracle高級套用技術
第1章走進OraclePL/SQL2
實例001安裝Oracle10g2
實例002啟動SQL*Plus工具7
實例003使用SQL*Plus命令行工具8
實例004配置連線字元串10
實例005使用PL/SQLDeveloper工具11
實例006啟動和關閉Oracle12
實例007創建PL/SQL塊14
實例008使用變數輸出字元串16
實例009變數初始化及存儲數據記錄17
實例010使用常量計算圓面積18
實例011使用宿主變數19
實例012輸出指定精度的數據20
實例013獲取當前日期時間21
實例014使用記錄類型輸出數據表中的一行22
實例015引用並輸出數據表中的列23
第2章運算元據表結構25
實例016使用CREATETABLE命令創建基本表25
實例017使用ALTERTABLE命令增加新欄位27
實例018使用ALTERTABLE命令修改欄位28
實例019使用ALTERTABLE命令刪除欄位29
實例020重命名基本表30
實例021複製相同結構的表31
實例022使用DROPTABLE命令刪除表33
實例023創建主鍵約束34
實例024創建唯一性約束35
實例025創建CHECK約束37
實例026創建外鍵約束39
實例027刪除約束40
實例028為欄位設定默認值42
第2篇數據查詢
第3章簡單數據查詢46
實例029查詢輸出基本表中指定列46
實例030對數據列進行運算並輸出47
實例031單條件查詢49
實例032根據查詢結果創建和複製表50
實例033返回表中的前N行記錄51
實例034消除重複行52
實例035NULL值的判定54
實例036查詢欄位值為某個範圍內的記錄55
實例037返回欄位值為列表中某個值的記錄56
實例038條件組合查詢57
實例039複合條件查詢59
實例040實現模糊查詢61
實例041使用ESCAPE和轉義字元62
第4章數據查詢中函式的使用64
實例042使用COUNT函式統計表中的記錄數64
實例043使用SUM函式求和66
實例044使用AVG函式求平均值67
實例045返回最大值68
實例046返回最小值69
實例047查找並替換字元串70
實例048獲取字元的ASCII碼71
實例049返回字元串長度72
實例050使用ROUND函式確定精度73
實例051日期運算74
實例052日期格式化輸出75
實例053提取日期特定部分77
實例054數據類型轉換79
實例055提取日期的星期值80
實例056提取一年中的第幾天81
實例057計算時間差82
實例058獲取某月的第一天與最後一天83
實例059NVL函式的使用85
第5章高級查詢87
實例060使用GROUPBY子句實現分組87
實例061按條件查詢並分組89
實例062使用CUBE匯總數據90
實例063使用ROLLUP匯總數據91
實例064用GROUPING函式區分NULL值93
實例065使用HAVING子句過濾分組數據94
實例066區別HAVING子句與WHERE子句95
實例067使用ORDERBY子句排序96
實例068對字元串列排序98
實例069多列排序100
實例070對查詢進行集合運算101
實例071返回多個表的共有數據102
實例072返回各個表的所有數據103
實例073無條件多表查詢104
實例074有共同欄位的表等值連線105
實例075含條件的等值連線106
實例076有共同欄位的表非等值連線107
實例077兩個表進行內連線108
實例078兩個表進行自然連線109
實例079一個表進行自連線110
實例080兩個表進行左外連線111
實例081兩個表進行右外連線112
實例082兩個表進行全外連線113
實例083多表連線114
第6章子查詢116
實例084返回單行的子查詢116
實例085含有聚合函式的單行子查詢118
實例086多表查詢中返回結果為單行的子查詢119
實例087用IN謂詞實現多行子查詢120
實例088多表查詢中使用IN謂詞122
實例089EXISTS子查詢123
實例090EXISTS替代單行子查詢124
實例091相關子查詢125
實例092含聚合函式的相關子查詢126
實例093帶IN謂詞的相關子查詢127
實例094包含分組的相關子查詢128
實例095帶ANY的子查詢130
實例096帶ALL的子查詢131
實例097嵌套子查詢132
實例098FROM子句後的子查詢134
……
第3篇數據操縱DML
第4篇數據安全套用
第5篇Oracle高級套用技術
序言
Oracle資料庫系統是美國Oracle公司(甲骨文公司)提供的以分散式資料庫為核心的一組軟體產品,是目前最流行的C/S或B/S體系結構的資料庫之一,在資料庫領域一直處於領先地位。Oracle資料庫是目前世界上使用最為廣泛的資料庫管理系統,系統可移植性好、使用方便、功能強,適用於各類數據操作環境。作為一個通用的資料庫系統,Oracle具有完整的數據管理功能;作為一個關係資料庫,Oracle是一個完備關係的產品;作為分散式資料庫,Oracle實現了分散式處理功能。因此,Oracle資料庫是一種高效率、可靠性好的適應高吞吐量的資料庫解決方案。
本書精心選擇了300多個實例,主要對Oracle的基本操作語句和資料庫管理,給出了實際套用中常見問題的解決方案和解決模式,也加入了筆者多年的資料庫管理實踐中的經驗和技巧。本書的實例儘量求簡,通過簡單的套用實現直接反映Oracle的語句和管理技巧,避免了大篇幅的理論介紹,讀者可以從中體會到Oracle便捷的操作和強大的功能。
本書的特點
本書選擇的實例都是實際操作Oracle資料庫會遇到的管理問題,熟練掌握本書的實例所介紹的Oracle功能和PL/SQL語句後,可以很快提高讀者處理實際問題的能力。本書講解方式簡單直接,內容全面,深度和廣度兼顧,實例安排從簡到難,由淺入深。本書在內容安排和實例講解上的主要特點如下。
選擇的實例系統全面,涵蓋了Oracle資料庫管理和PL/SQL編程的基本內容,力求給讀者最大的實踐指導。
實例講解細緻體貼,設計了適合初學者的學習方式,用準確的語言引出實例,用精簡的代碼實現,用詳細的講解為初學者學習和掌握基礎知識提供了鋪墊。
實例的實現代碼長度適中,力爭每個代碼都介紹清楚,給出了清晰的代碼執行思路和該類問題的解決思路。
實例講解中貫穿了大量針對性的基本知識點,並給出了對應的知識點解析,以便讓讀者更好地理解各種概念和方法。
對於重要的處理代碼,給出了詳細的說明或注釋,同時給出了相應改造建議和深化建議,並就初學者容易出錯之處給出了注意事項。
本書內容及知識體系
第1篇 初識Oracle PL/SQL(第1章~第2章)。主要介紹了Oracle資料庫的主要組成部分、環境及PL/SQL的基本語法。本篇包括近30個實例,主要涉及Oracle的安裝、工具、PL/SQL程式的創建、基本語法和數據定義語句(DDL)。
第2篇 數據查詢(第3章~第6章)。主要介紹了PL/SQL語言在Oracle中如何實現數據查詢,包括簡單查詢、函式、複合查詢、連線查詢和子查詢。本篇包括了70多個實例,主要涉及SELECT語句在資料庫中的各種實現。
第3篇 數據操縱OML(第7章~第8章)。主要介紹了PL/SQL語言在Oracle中如何實現對關係數據表的操作,包括數據表記錄的增刪改和數據控制。本篇包括40多個實例,主要涉及INSERT、UPDATE和DELETE等數據操作語句的實現,以及數據控制語句(DCL)。
第4篇 數據安全套用(第9章~第15章)。主要介紹了Oracle資料庫的數據安全、完整性約束和規則、存儲過程和PL/SQL控制語句、觸發器等內容。本篇包括110多個實例,主要涉及數據表完整性控制、存儲過程和觸發器的實現。
第5篇 Oraole高級套用技術(第16章~第18章)。基於前面四篇的知識,主要對Oracle數據的游標、數據導入/導出、性能調優和在具體項目中的使用技巧做具體講解。本篇包括70個實例,主要涉及游標、數據的備份和恢復、性能調優等方面的知識,同時綜合介紹了Oracle資料庫管理的一些技巧,並且設計了一個實際案例的各常用功能模組。
本書約定
【實例描述】對需要解決的問題的已知條件和需要解決的部分做出說明,對於某些複雜的問題舉例說明了該題目的功能是什麼,以及要求是什麼。
【實現代碼/過程】給出了解決問題的代碼實現,在代碼中對於重要的變數或者複雜的語句給出注釋和解釋,對於複雜的方法給出了具體的實現步驟。
【範例解析】對實例中的代碼或步驟進行詳細講解,對代碼中涉及的基礎語句和知識點進行說明,剖析對於初學者來說不容易理解的部分,並給出代碼的實現思路。對於複雜代碼或過程,以圖形方式或畫出流程圖幫助讀者進一步理解。
【注意】提出學習過程中需要特別注意的一些知識點和內容或者相關信息,是讀者在驗證實例時需注意的細節。
適合閱讀本書的讀者
對Oracle資料庫感興趣的讀者。
沒有任何資料庫學習經歷,想了解Oracle資料庫的初學者。
初步了解資料庫,想進一步學習Oracle的讀者。
大、中專院校和培訓學校的師生。
Oracle初級、中級資料庫管理員和資料庫套用系統開發工程師。
閱讀本書的建議
為了提高讀者學習效率,增強學習效果,我們特別提出以下學習建議。
對於沒有接觸過Oracle的初學者,應該按照章節依次閱讀本書,而不要隨便跳躍章節,這樣才便於更加系統地學習。
對於每一個實例,先自己思考一下實現的思路,然後再閱讀,學習效果更好。
對每一個實例的實現思路和實現過程完整地閱讀一遍後親自動手編寫代碼,完成書中的所有實例,這樣才能加強對實例實現過程的體驗,加深對內容的理解和記憶。
學會利用網路資源,遇到問題時能夠從網路上獲取相關資源並解決問題。
本書精心選擇了300多個實例,主要對Oracle的基本操作語句和資料庫管理,給出了實際套用中常見問題的解決方案和解決模式,也加入了筆者多年的資料庫管理實踐中的經驗和技巧。本書的實例儘量求簡,通過簡單的套用實現直接反映Oracle的語句和管理技巧,避免了大篇幅的理論介紹,讀者可以從中體會到Oracle便捷的操作和強大的功能。
本書的特點
本書選擇的實例都是實際操作Oracle資料庫會遇到的管理問題,熟練掌握本書的實例所介紹的Oracle功能和PL/SQL語句後,可以很快提高讀者處理實際問題的能力。本書講解方式簡單直接,內容全面,深度和廣度兼顧,實例安排從簡到難,由淺入深。本書在內容安排和實例講解上的主要特點如下。
選擇的實例系統全面,涵蓋了Oracle資料庫管理和PL/SQL編程的基本內容,力求給讀者最大的實踐指導。
實例講解細緻體貼,設計了適合初學者的學習方式,用準確的語言引出實例,用精簡的代碼實現,用詳細的講解為初學者學習和掌握基礎知識提供了鋪墊。
實例的實現代碼長度適中,力爭每個代碼都介紹清楚,給出了清晰的代碼執行思路和該類問題的解決思路。
實例講解中貫穿了大量針對性的基本知識點,並給出了對應的知識點解析,以便讓讀者更好地理解各種概念和方法。
對於重要的處理代碼,給出了詳細的說明或注釋,同時給出了相應改造建議和深化建議,並就初學者容易出錯之處給出了注意事項。
本書內容及知識體系
第1篇 初識Oracle PL/SQL(第1章~第2章)。主要介紹了Oracle資料庫的主要組成部分、環境及PL/SQL的基本語法。本篇包括近30個實例,主要涉及Oracle的安裝、工具、PL/SQL程式的創建、基本語法和數據定義語句(DDL)。
第2篇 數據查詢(第3章~第6章)。主要介紹了PL/SQL語言在Oracle中如何實現數據查詢,包括簡單查詢、函式、複合查詢、連線查詢和子查詢。本篇包括了70多個實例,主要涉及SELECT語句在資料庫中的各種實現。
第3篇 數據操縱OML(第7章~第8章)。主要介紹了PL/SQL語言在Oracle中如何實現對關係數據表的操作,包括數據表記錄的增刪改和數據控制。本篇包括40多個實例,主要涉及INSERT、UPDATE和DELETE等數據操作語句的實現,以及數據控制語句(DCL)。
第4篇 數據安全套用(第9章~第15章)。主要介紹了Oracle資料庫的數據安全、完整性約束和規則、存儲過程和PL/SQL控制語句、觸發器等內容。本篇包括110多個實例,主要涉及數據表完整性控制、存儲過程和觸發器的實現。
第5篇 Oraole高級套用技術(第16章~第18章)。基於前面四篇的知識,主要對Oracle數據的游標、數據導入/導出、性能調優和在具體項目中的使用技巧做具體講解。本篇包括70個實例,主要涉及游標、數據的備份和恢復、性能調優等方面的知識,同時綜合介紹了Oracle資料庫管理的一些技巧,並且設計了一個實際案例的各常用功能模組。
本書約定
【實例描述】對需要解決的問題的已知條件和需要解決的部分做出說明,對於某些複雜的問題舉例說明了該題目的功能是什麼,以及要求是什麼。
【實現代碼/過程】給出了解決問題的代碼實現,在代碼中對於重要的變數或者複雜的語句給出注釋和解釋,對於複雜的方法給出了具體的實現步驟。
【範例解析】對實例中的代碼或步驟進行詳細講解,對代碼中涉及的基礎語句和知識點進行說明,剖析對於初學者來說不容易理解的部分,並給出代碼的實現思路。對於複雜代碼或過程,以圖形方式或畫出流程圖幫助讀者進一步理解。
【注意】提出學習過程中需要特別注意的一些知識點和內容或者相關信息,是讀者在驗證實例時需注意的細節。
適合閱讀本書的讀者
對Oracle資料庫感興趣的讀者。
沒有任何資料庫學習經歷,想了解Oracle資料庫的初學者。
初步了解資料庫,想進一步學習Oracle的讀者。
大、中專院校和培訓學校的師生。
Oracle初級、中級資料庫管理員和資料庫套用系統開發工程師。
閱讀本書的建議
為了提高讀者學習效率,增強學習效果,我們特別提出以下學習建議。
對於沒有接觸過Oracle的初學者,應該按照章節依次閱讀本書,而不要隨便跳躍章節,這樣才便於更加系統地學習。
對於每一個實例,先自己思考一下實現的思路,然後再閱讀,學習效果更好。
對每一個實例的實現思路和實現過程完整地閱讀一遍後親自動手編寫代碼,完成書中的所有實例,這樣才能加強對實例實現過程的體驗,加深對內容的理解和記憶。
學會利用網路資源,遇到問題時能夠從網路上獲取相關資源並解決問題。