員工培訓(xùn)講稿Oracle培訓(xùn)_第1頁(yè)
員工培訓(xùn)講稿Oracle培訓(xùn)_第2頁(yè)
員工培訓(xùn)講稿Oracle培訓(xùn)_第3頁(yè)
員工培訓(xùn)講稿Oracle培訓(xùn)_第4頁(yè)
員工培訓(xùn)講稿Oracle培訓(xùn)_第5頁(yè)
已閱讀5頁(yè),還剩221頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、打造中國(guó)金融IT服務(wù)業(yè)第一品牌2目錄 ORACLE數(shù)據(jù)庫(kù)簡(jiǎn)介 ORACLE SQL ORACLE數(shù)據(jù)庫(kù)對(duì)象打造中國(guó)金融IT服務(wù)業(yè)第一品牌3Oracle Oracle 體系結(jié)構(gòu)體系結(jié)構(gòu)n 每一個(gè)每一個(gè)Oracle數(shù)據(jù)庫(kù)都是一個(gè)數(shù)據(jù)的集合,這些數(shù)據(jù)包數(shù)據(jù)庫(kù)都是一個(gè)數(shù)據(jù)的集合,這些數(shù)據(jù)包含在一個(gè)或多個(gè)文件中。數(shù)據(jù)庫(kù)有物理和邏輯兩種結(jié)構(gòu)含在一個(gè)或多個(gè)文件中。數(shù)據(jù)庫(kù)有物理和邏輯兩種結(jié)構(gòu)。n Oracle實(shí)例由被稱為系統(tǒng)全局區(qū)實(shí)例由被稱為系統(tǒng)全局區(qū)(system global area,SGA)的內(nèi)存區(qū)域和相應(yīng)的后臺(tái)進(jìn)程組成。這些后臺(tái)進(jìn)程的內(nèi)存區(qū)域和相應(yīng)的后臺(tái)進(jìn)程組成。這些后臺(tái)進(jìn)程負(fù)責(zé)負(fù)責(zé)SGA和數(shù)據(jù)庫(kù)磁

2、盤文件之間的交互。和數(shù)據(jù)庫(kù)磁盤文件之間的交互。Oracle服務(wù)器 Oracle 數(shù)據(jù)庫(kù) Oracle 實(shí)例打造中國(guó)金融IT服務(wù)業(yè)第一品牌4Oracle Oracle 主要組件主要組件 實(shí) 例 內(nèi)存結(jié)構(gòu)內(nèi)存結(jié)構(gòu) 后臺(tái)進(jìn)程后臺(tái)進(jìn)程 PMON SMON DBWR LGWR CKPT 其他 數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)數(shù)據(jù)文件數(shù)據(jù)文件數(shù)據(jù)文件控制文件控制文件日志文件日志文件參數(shù)文件歸檔日志文件歸檔日志文件口令文件SGA用戶進(jìn)程服務(wù)器進(jìn)程PGA共享池?cái)?shù)據(jù)緩沖區(qū)日志緩沖區(qū)打造中國(guó)金融IT服務(wù)業(yè)第一品牌5Oracle Oracle 會(huì)話會(huì)話n 會(huì)話是用戶及 Oracle 服務(wù)器的單個(gè)連接n 當(dāng)用戶及服務(wù)器建立連接時(shí)創(chuàng)建會(huì)話

3、n 當(dāng)用戶及服務(wù)器斷開(kāi)連接時(shí)關(guān)閉會(huì)話啟動(dòng) Oracle 實(shí)例使用SQL*Plus連接至數(shù)據(jù)庫(kù)創(chuàng)建用戶進(jìn)程創(chuàng)建服務(wù)器進(jìn)程提交 SQL 查詢打造中國(guó)金融IT服務(wù)業(yè)第一品牌6系統(tǒng)全局區(qū)系統(tǒng)全局區(qū)SGASGAn 數(shù)據(jù)庫(kù)信息存儲(chǔ)于SGA,由多個(gè)數(shù)據(jù)庫(kù)進(jìn)程共享共享池共享池 數(shù)據(jù)緩沖區(qū)數(shù)據(jù)緩沖區(qū) 日志緩沖區(qū)日志緩沖區(qū) SGA的內(nèi)存結(jié)構(gòu)的內(nèi)存結(jié)構(gòu) 打造中國(guó)金融IT服務(wù)業(yè)第一品牌7系統(tǒng)全局區(qū)系統(tǒng)全局區(qū)SGASGAn 共享池n 共享池是對(duì)SQL、PL/SQL程序進(jìn)行語(yǔ)法分析、編譯、執(zhí)行的內(nèi)存區(qū)域n 共享池由庫(kù)緩存和數(shù)據(jù)字典緩存組成。n 共享池的大小直接影響數(shù)據(jù)庫(kù)的性能。n 數(shù)據(jù)緩沖區(qū) n 用于存儲(chǔ)從磁盤數(shù)據(jù)文件中

4、讀入的數(shù)據(jù),所有用戶共享。n 服務(wù)器進(jìn)程將讀入的數(shù)據(jù)保存在數(shù)據(jù)緩沖區(qū)中,當(dāng)后續(xù)的請(qǐng)求需要這些數(shù)據(jù)時(shí)可以在內(nèi)存中找到,不需要再?gòu)拇疟P讀取,提高了讀取速度。n 數(shù)據(jù)緩沖區(qū)的大小對(duì)數(shù)據(jù)庫(kù)的讀取速度有直接的影響。n 日志緩沖區(qū) n 日志記錄數(shù)據(jù)庫(kù)的所有修改信息,日志信息首先產(chǎn)生于日志緩沖區(qū)。 n 當(dāng)日志緩沖區(qū)的日志數(shù)據(jù)達(dá)到一定數(shù)量時(shí),由后臺(tái)進(jìn)程將日志數(shù)據(jù)寫入日志文件中。n 相對(duì)來(lái)說(shuō),日志緩沖區(qū)對(duì)數(shù)據(jù)庫(kù)的性能影響較小。打造中國(guó)金融IT服務(wù)業(yè)第一品牌8程序全局區(qū)程序全局區(qū)PGAPGAn 程序全局區(qū)(PGA)包含單個(gè)服務(wù)器進(jìn)程所需的數(shù)據(jù)和控制信息n PGA是在用戶進(jìn)程連接到數(shù)據(jù)庫(kù)并創(chuàng)建一個(gè)會(huì)話時(shí)自動(dòng)分配的,

5、保存每個(gè)及Oracle 數(shù)據(jù)庫(kù)連接的用戶進(jìn)程所需的信息n PGA為非共享區(qū),只能單個(gè)進(jìn)程使用,當(dāng)一個(gè)用戶會(huì)話結(jié)束,PGA釋放打造中國(guó)金融IT服務(wù)業(yè)第一品牌9后臺(tái)進(jìn)程后臺(tái)進(jìn)程n PMON 進(jìn)程監(jiān)控進(jìn)程n 清理出現(xiàn)故障的進(jìn)程。 n 釋放所有當(dāng)前掛起的鎖定。n 釋放故障進(jìn)程使用的資源。 n SMON 系統(tǒng)監(jiān)控進(jìn)程n 在實(shí)例失敗之后,重新打開(kāi)數(shù)據(jù)庫(kù)時(shí)自動(dòng)恢復(fù)實(shí)例。 n 整理數(shù)據(jù)文件的自由空間,將相鄰區(qū)域結(jié)合起來(lái)。n 釋放不再使用的臨時(shí)段n DBWR 數(shù)據(jù)寫入進(jìn)程n 管理數(shù)據(jù)緩沖區(qū),將最近使用過(guò)的塊保留在內(nèi)存中。n 將修改后的緩沖區(qū)數(shù)據(jù)寫入數(shù)據(jù)文件中。n LGWR 日志寫入進(jìn)程n 負(fù)責(zé)將日志緩沖區(qū)中的日

6、志數(shù)據(jù)寫入日志文件。 n 系統(tǒng)有多個(gè)日志文件,該進(jìn)程以循環(huán)的方式將數(shù)據(jù)寫入文件.打造中國(guó)金融IT服務(wù)業(yè)第一品牌10Oracle Oracle 物理組件物理組件n 物理組件就是物理組件就是Oracle數(shù)據(jù)庫(kù)所使用的操作系統(tǒng)物理文件數(shù)據(jù)庫(kù)所使用的操作系統(tǒng)物理文件。物理文件可分為三類:。物理文件可分為三類:物理組件數(shù)據(jù)文件 控制文件日志文件數(shù)據(jù)文件用于存儲(chǔ)數(shù)據(jù)庫(kù)數(shù)據(jù),如表、索引數(shù)據(jù)等??刂莆募怯涗洈?shù)據(jù)庫(kù)物理結(jié)構(gòu)的二進(jìn)制文件。日志文件記錄對(duì)數(shù)據(jù)庫(kù)的所有修改信息,用于故障恢復(fù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌11Oracle Oracle 邏輯組件邏輯組件n 數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)是從邏輯的角度分析數(shù)據(jù)庫(kù)的組成

7、。數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)是從邏輯的角度分析數(shù)據(jù)庫(kù)的組成。Oracle 的邏輯組件包括:的邏輯組件包括:數(shù)據(jù)庫(kù) 表空間 段 區(qū) 數(shù)據(jù)塊 打造中國(guó)金融IT服務(wù)業(yè)第一品牌12Oracle Oracle 邏輯組件邏輯組件n 表空間是數(shù)據(jù)庫(kù)中最大的邏輯單位,一個(gè) Oracle 數(shù)據(jù)庫(kù)至少包含一個(gè)表空間,就是名為SYSTEM的系統(tǒng)表空間。n 每個(gè)表空間是由一個(gè)或多個(gè)數(shù)據(jù)文件組成的,一個(gè)數(shù)據(jù)文件只能及一個(gè)表空間相關(guān)聯(lián)。n 表空間的大小等于構(gòu)成該表空間的所有數(shù)據(jù)文件大小之和。打造中國(guó)金融IT服務(wù)業(yè)第一品牌13Oracle Oracle 邏輯組件邏輯組件n 段n 段是構(gòu)成表空間的邏輯存儲(chǔ)結(jié)構(gòu),段由一組區(qū)組成。 n 按

8、照段所存儲(chǔ)數(shù)據(jù)的特征,將段分為四種類型,即數(shù)據(jù)段、索引段、回退段和臨時(shí)段。n 區(qū)n 區(qū)為段分配空間,它由連續(xù)的數(shù)據(jù)塊組成。 n 當(dāng)段中的所有空間已完全使用時(shí),系統(tǒng)自動(dòng)為該段分配一個(gè)新區(qū)。n 區(qū)不能跨數(shù)據(jù)文件存在,只能存在于一個(gè)數(shù)據(jù)文件中。n 數(shù)據(jù)塊n 數(shù)據(jù)塊是Oracle服務(wù)器所能分配、讀取或?qū)懭氲淖钚〈鎯?chǔ)單元。n Oracle服務(wù)器以數(shù)據(jù)塊為單位管理數(shù)據(jù)文件的存儲(chǔ)空間打造中國(guó)金融IT服務(wù)業(yè)第一品牌14Oracle Oracle 網(wǎng)絡(luò)配置網(wǎng)絡(luò)配置n Oracle產(chǎn)品安裝完成后,服務(wù)器和客戶端都需要進(jìn)行網(wǎng)絡(luò)配置才能實(shí)現(xiàn)網(wǎng)絡(luò)連接。n 服務(wù)器端配置監(jiān)聽(tīng)器,客戶端配置網(wǎng)絡(luò)服務(wù)名。tnsnames.or

9、aOracle 客戶端listener.oraOracle 服務(wù)器打造中國(guó)金融IT服務(wù)業(yè)第一品牌15Oracle Oracle 網(wǎng)絡(luò)配置網(wǎng)絡(luò)配置n 服務(wù)器端監(jiān)聽(tīng)器配置信息包括監(jiān)聽(tīng)協(xié)議、地址及其他相關(guān)信息。 配置信息保存在名為listener.ora的文件中。在安裝服務(wù)器軟件時(shí)自動(dòng)配置一個(gè)監(jiān)聽(tīng)器n 客戶端的網(wǎng)絡(luò)服務(wù)名配置信息包括服務(wù)器地址、監(jiān)聽(tīng)端口號(hào)和數(shù)據(jù)庫(kù)SID等,及服務(wù)器的監(jiān)聽(tīng)器建立連接。配置信息保存在名為tnsnames.ora的文件中n Oracle中的 Net Configuration Assistant和Net Manager工具都能用來(lái)配置監(jiān)聽(tīng)器和網(wǎng)絡(luò)服務(wù)名打造中國(guó)金融IT服務(wù)業(yè)

10、第一品牌16總結(jié)總結(jié)n Oracle 服務(wù)器由Oracle 數(shù)據(jù)庫(kù)和 Oracle 實(shí)例組成 n Oracle 實(shí)例由系統(tǒng)全局區(qū)內(nèi)存結(jié)構(gòu)和用于管理數(shù)據(jù)庫(kù)的后臺(tái)進(jìn)程組成n Oracle 數(shù)據(jù)庫(kù)由操作系統(tǒng)文件組成,這些文件為數(shù)據(jù)庫(kù)信息提供實(shí)際物理存儲(chǔ)區(qū)n Oracle 數(shù)據(jù)庫(kù)包括邏輯結(jié)構(gòu)和物理結(jié)構(gòu)打造中國(guó)金融IT服務(wù)業(yè)第一品牌17目錄 ORACLE數(shù)據(jù)庫(kù)簡(jiǎn)介 ORACLE SQL ORACLE數(shù)據(jù)庫(kù)對(duì)象打造中國(guó)金融IT服務(wù)業(yè)第一品牌18基本SQL SELECT語(yǔ)句打造中國(guó)金融IT服務(wù)業(yè)第一品牌19 基本SELECTSELECT語(yǔ)句nSELECT標(biāo)識(shí)選擇哪些列。標(biāo)識(shí)選擇哪些列。nFROM標(biāo)識(shí)從哪個(gè)表

11、中選擇。標(biāo)識(shí)從哪個(gè)表中選擇。打造中國(guó)金融IT服務(wù)業(yè)第一品牌20選擇全部列打造中國(guó)金融IT服務(wù)業(yè)第一品牌21選擇特定的列打造中國(guó)金融IT服務(wù)業(yè)第一品牌22Writing SQL StatementsWriting SQL Statementsn SQL 語(yǔ)言大小寫不敏感。n SQL 可以寫在一行或者多行n 關(guān)鍵字不能被縮寫也不能分行n 各子句一般要分行寫。n 使用縮進(jìn)提高語(yǔ)句的可讀性。打造中國(guó)金融IT服務(wù)業(yè)第一品牌23算術(shù)運(yùn)算符n 數(shù)字和日期使用的數(shù)學(xué)表達(dá)式。打造中國(guó)金融IT服務(wù)業(yè)第一品牌24使用數(shù)學(xué)運(yùn)算符打造中國(guó)金融IT服務(wù)業(yè)第一品牌25操作符優(yōu)先級(jí)n 乘除的優(yōu)先級(jí)高于加減。n 同一優(yōu)先級(jí)運(yùn)算

12、符從左向右執(zhí)行。n 括號(hào)內(nèi)的運(yùn)算先執(zhí)行。打造中國(guó)金融IT服務(wù)業(yè)第一品牌26操作符優(yōu)先級(jí)打造中國(guó)金融IT服務(wù)業(yè)第一品牌27使用括號(hào)打造中國(guó)金融IT服務(wù)業(yè)第一品牌28列的別名n 列的別名:n 重命名一個(gè)列。n 便于計(jì)算。n 緊跟列名,也可以在列名和別名之間加入關(guān)鍵字AS,以便在別名中包含空格或特殊的字符并區(qū)分大小寫。打造中國(guó)金融IT服務(wù)業(yè)第一品牌29使用別名打造中國(guó)金融IT服務(wù)業(yè)第一品牌30連接符n 連接符:n 把列及列,列及字符連接在一起。n 用|表示。n 可以用來(lái)合成列。打造中國(guó)金融IT服務(wù)業(yè)第一品牌31字符串n 字符串可以是SELECT列表中的一個(gè)字符,數(shù)字,日期。n 日期和字符只能在單引號(hào)

13、中出現(xiàn)。n 每當(dāng)返回一行時(shí),字符串被輸出一次。打造中國(guó)金融IT服務(wù)業(yè)第一品牌32重復(fù)行n 默認(rèn)情況下,查詢會(huì)返回全部行,包括重復(fù)行。打造中國(guó)金融IT服務(wù)業(yè)第一品牌33刪除重復(fù)行n 在SELECT子句中使用關(guān)鍵字DISTINCT刪除重復(fù)行打造中國(guó)金融IT服務(wù)業(yè)第一品牌34總結(jié)n 通過(guò)本課,您應(yīng)該可以完成: n 書寫SELECT語(yǔ)句:返回表中的全部數(shù)據(jù)。n 返回表中指定列的數(shù)據(jù)。n 使用別名。打造中國(guó)金融IT服務(wù)業(yè)第一品牌35作業(yè)作業(yè)1 1n 查詢employees表列出所有辦事員的姓名(FIRST_NAME+LAST_NAME)、編號(hào)(EMPLOYEE_ID)和部門(DEPARTMENT_ID)

14、其中姓名字段需要將FIRST_NAME列和LAST_NAME進(jìn)行字符串連接n 查詢employees表列出所有辦事員的EMPLOYEE_ID, SALARY,其中SALARY列需要顯示辦事員的收入為原始收入乘以2。打造中國(guó)金融IT服務(wù)業(yè)第一品牌36過(guò)濾和排序數(shù)據(jù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌37在查詢中過(guò)濾行返回在90號(hào)部門工作的所有員工的信息打造中國(guó)金融IT服務(wù)業(yè)第一品牌38過(guò)濾過(guò)濾n 使用WHERE子句,將不滿足條件的行過(guò)濾掉。n WHERE子句緊隨FROM子句。打造中國(guó)金融IT服務(wù)業(yè)第一品牌39字符和日期字符和日期n 字符和日期要包含在單引號(hào)中。n 字符大小寫敏感,日期格式敏感。n 默認(rèn)

15、的日期格式是DD-MON-RR(如6/21/1999)。打造中國(guó)金融IT服務(wù)業(yè)第一品牌40比較運(yùn)算比較運(yùn)算打造中國(guó)金融IT服務(wù)業(yè)第一品牌41其它比較運(yùn)算其它比較運(yùn)算打造中國(guó)金融IT服務(wù)業(yè)第一品牌42BETWEENBETWEEN打造中國(guó)金融IT服務(wù)業(yè)第一品牌43ININ打造中國(guó)金融IT服務(wù)業(yè)第一品牌44LIKELIKEn 使用LIKE運(yùn)算選擇類似的值n 選擇條件可以包含字符或數(shù)字:n %代表一個(gè)或多個(gè)字符。n _代表一個(gè)字符。打造中國(guó)金融IT服務(wù)業(yè)第一品牌45LIKELIKEn %和-可以同時(shí)使用。打造中國(guó)金融IT服務(wù)業(yè)第一品牌46 NULL NULLn 使用NULL判斷空值。打造中國(guó)金融IT服

16、務(wù)業(yè)第一品牌47邏輯運(yùn)算邏輯運(yùn)算打造中國(guó)金融IT服務(wù)業(yè)第一品牌48ANDANDn AND要求及的關(guān)系為真。打造中國(guó)金融IT服務(wù)業(yè)第一品牌49ORORn OR要求或關(guān)系為真。打造中國(guó)金融IT服務(wù)業(yè)第一品牌50NOTNOT打造中國(guó)金融IT服務(wù)業(yè)第一品牌51優(yōu)先級(jí)優(yōu)先級(jí)打造中國(guó)金融IT服務(wù)業(yè)第一品牌52優(yōu)先級(jí)優(yōu)先級(jí)打造中國(guó)金融IT服務(wù)業(yè)第一品牌53優(yōu)先級(jí)優(yōu)先級(jí)打造中國(guó)金融IT服務(wù)業(yè)第一品牌54ORDER BYORDER BY子句子句n 使用ORDER BY子句排序n ASC: 升序n DESC: 降序n ORDER BY子句在SELECT語(yǔ)句的結(jié)尾。打造中國(guó)金融IT服務(wù)業(yè)第一品牌55降序排序降序排序

17、打造中國(guó)金融IT服務(wù)業(yè)第一品牌56按別名排序按別名排序打造中國(guó)金融IT服務(wù)業(yè)第一品牌57多個(gè)列排序多個(gè)列排序打造中國(guó)金融IT服務(wù)業(yè)第一品牌58總結(jié)總結(jié)n 通過(guò)本課,您應(yīng)該可以完成: n 使用WHERE子句過(guò)濾數(shù)據(jù)使用比較運(yùn)算n 使用BETWEEN, IN, LIKE和NULL運(yùn)算n 使用邏輯運(yùn)算符AND, OR和NOTn 使用ORDER BY子句進(jìn)行排序。打造中國(guó)金融IT服務(wù)業(yè)第一品牌59作業(yè)作業(yè)2 2n 查詢employees表選擇部門(department_id) 為30中的雇員n 顯示不帶有“R”的雇員姓名(first_name).n 顯示雇員的詳細(xì)資料,按姓名(first_name)排

18、序.n 找出不收取傭金(null)或收取的傭金低于500的雇員打造中國(guó)金融IT服務(wù)業(yè)第一品牌60單行函數(shù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌61SQL SQL 函數(shù)函數(shù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌62單行函數(shù)單行函數(shù)n 單行函數(shù):n 接受函數(shù)返回一個(gè)結(jié)果n 只對(duì)一行進(jìn)行變換n 每行返回一個(gè)結(jié)果n 可以轉(zhuǎn)換數(shù)據(jù)類型n 可以嵌套n 參數(shù)可以是一列或一個(gè)值打造中國(guó)金融IT服務(wù)業(yè)第一品牌63單行函數(shù)單行函數(shù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌64字符函數(shù)字符函數(shù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌65大小寫控制函數(shù)大小寫控制函數(shù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌66大小寫控制函數(shù)大小寫控制函數(shù)打造中國(guó)金融IT服務(wù)業(yè)第一品

19、牌67字符控制函數(shù)字符控制函數(shù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌68字符控制函數(shù)字符控制函數(shù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌69數(shù)字函數(shù)數(shù)字函數(shù)n ROUND: 四舍五入n ROUND(45.926, 2) 45.93n TRUNC:截?cái)鄋 TRUNC(45.926, 2) 45.92n MOD: 求余n MOD(1600, 300) 100打造中國(guó)金融IT服務(wù)業(yè)第一品牌70MODMOD函數(shù)函數(shù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌71日期日期n Oracle 內(nèi)部使用數(shù)字存儲(chǔ)日期: 世紀(jì),年,月,日,小時(shí),分鐘,秒。n 默認(rèn)的日期格式是DD-MON-RR.可以只指定年的后兩位在20世紀(jì)存放21世紀(jì)的日期。

20、n 同樣可以在21世紀(jì)存放20世紀(jì)的日期。打造中國(guó)金融IT服務(wù)業(yè)第一品牌72日期日期n 函數(shù)SYSDATE返回:n 日期n 時(shí)間n 日期的數(shù)學(xué)運(yùn)算:n 在日期上加上或減去一個(gè)數(shù)字結(jié)果仍為日期。n 兩個(gè)日期相減返回日期之間相差的天數(shù)。n 可以用數(shù)字除24來(lái)向日期中加上或減去小時(shí)。打造中國(guó)金融IT服務(wù)業(yè)第一品牌73日期函數(shù)日期函數(shù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌74日期函數(shù)日期函數(shù)nMONTHS_BETWEEN (01-SEP-95,11-JAN-94)nADD_MONTHS (11-JAN-94,6)nNEXT_DAY (01-SEP-95,FRIDAY) nLAST_DAY(01-FEB-95)

21、19.677419411-JUL-9408-SEP-9528-FEB-95打造中國(guó)金融IT服務(wù)業(yè)第一品牌75日期函數(shù)日期函數(shù)nAssume SYSDATE = 25-JUL-95:nROUND(SYSDATE,MONTH) nROUND(SYSDATE,YEAR)nTRUNC(SYSDATE,MONTH) nTRUNC(SYSDATE,YEAR) 01-AUG-9501-JAN-96 01-JUL-95 01-JAN-95 打造中國(guó)金融IT服務(wù)業(yè)第一品牌76轉(zhuǎn)換函數(shù)轉(zhuǎn)換函數(shù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌77隱式數(shù)據(jù)類型轉(zhuǎn)換隱式數(shù)據(jù)類型轉(zhuǎn)換nOracle 自動(dòng)完成下列轉(zhuǎn)換:打造中國(guó)金融IT服務(wù)業(yè)

22、第一品牌78顯式數(shù)據(jù)類型轉(zhuǎn)換顯式數(shù)據(jù)類型轉(zhuǎn)換打造中國(guó)金融IT服務(wù)業(yè)第一品牌79TO_CHARTO_CHAR函數(shù)對(duì)日期的轉(zhuǎn)換函數(shù)對(duì)日期的轉(zhuǎn)換n 格式:n 必須包含在單引號(hào)中而且大小寫敏感。n 可以包含任意的有效的日期格式。n 可以使用fm去掉多余的空格或者前導(dǎo)零。n 及日期指用逗號(hào)隔開(kāi)。打造中國(guó)金融IT服務(wù)業(yè)第一品牌80日期格式的元素日期格式的元素打造中國(guó)金融IT服務(wù)業(yè)第一品牌81日期格式的元素日期格式的元素n 時(shí)間格式n HH24:MI:SS AM 15:45:32 PMn 使用雙引號(hào)向日期中添加字符n DD of MONTH 12 of OCTOBER打造中國(guó)金融IT服務(wù)業(yè)第一品牌82TO_

23、CHARTO_CHAR函數(shù)對(duì)日期的轉(zhuǎn)換函數(shù)對(duì)日期的轉(zhuǎn)換打造中國(guó)金融IT服務(wù)業(yè)第一品牌83TO_CHARTO_CHAR函數(shù)對(duì)數(shù)字的轉(zhuǎn)換函數(shù)對(duì)數(shù)字的轉(zhuǎn)換n 下面是在TO_CHAR函數(shù)中經(jīng)常使用的幾種格式:打造中國(guó)金融IT服務(wù)業(yè)第一品牌84TO_NUMBERTO_NUMBER和和TO_DATETO_DATE函數(shù)函數(shù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌85嵌套函數(shù)嵌套函數(shù)n 單行函數(shù)可以嵌套。n 嵌套函數(shù)的執(zhí)行順序是由內(nèi)到外。打造中國(guó)金融IT服務(wù)業(yè)第一品牌86NVLNVL函數(shù)函數(shù)n 將空值轉(zhuǎn)換成一個(gè)已知的值:n 可以使用的數(shù)據(jù)類型有日期、字符、數(shù)字。n 函數(shù)的一般形式:n NVL(commission_pc

24、t,0)n NVL(hire_date,01-JAN-97)n NVL(job_id,No Job Yet)打造中國(guó)金融IT服務(wù)業(yè)第一品牌87使用使用NVLNVL函數(shù)函數(shù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌88條件表達(dá)式條件表達(dá)式n 在SQL語(yǔ)句中使用IF-THEN-ELSE 邏輯。n 使用兩種方法:n CASE表達(dá)式n DECODE函數(shù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌89CASECASE表達(dá)式表達(dá)式打造中國(guó)金融IT服務(wù)業(yè)第一品牌90DECODEDECODE函數(shù)函數(shù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌91總結(jié)總結(jié)n 通過(guò)本章學(xué)習(xí),您應(yīng)該學(xué)會(huì): n 使用函數(shù)對(duì)數(shù)據(jù)進(jìn)行計(jì)算n 使用函數(shù)修改數(shù)據(jù)n 使用函數(shù)控制一

25、組數(shù)據(jù)的輸出格式n 使用函數(shù)改變?nèi)掌诘娘@示格式n 使用函數(shù)改變數(shù)據(jù)類型n 使用NVL 函數(shù)n 使用IF-THEN-ELSE 邏輯打造中國(guó)金融IT服務(wù)業(yè)第一品牌92作業(yè)作業(yè)3 3n 查詢emp表找出各月最后一天受雇的所有雇員.n 以年-月-日顯示所有雇員的yyyy-mm-ddemp表打造中國(guó)金融IT服務(wù)業(yè)第一品牌93多表查詢及分組函數(shù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌94多表查詢多表查詢n 從多個(gè)表中獲取數(shù)據(jù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌95笛卡爾集笛卡爾集n 為了避免笛卡爾集,可以在WHERE加入有效的連接條件。打造中國(guó)金融IT服務(wù)業(yè)第一品牌96Oracle Oracle 連接連接n 使用連接在多

26、個(gè)表中查詢數(shù)據(jù)n 在WHERE字句中寫入連接條件。n 在表中有相同列時(shí),在列名之前加上表名前綴。打造中國(guó)金融IT服務(wù)業(yè)第一品牌97內(nèi)連接內(nèi)連接n 內(nèi)連接只返回滿足連接條件的數(shù)據(jù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌98內(nèi)連接內(nèi)連接n 對(duì)于多個(gè)連接條件使用AND操作符n 對(duì)于區(qū)分重復(fù)的列名n 使用表名前綴在多個(gè)表中區(qū)分相同的列。n 使用表名可以提高效率。n 在不同表中具有相同列名的列可以用別名加以區(qū)分。n 對(duì)于多個(gè)表可以使用表的別名n 使用別名可以簡(jiǎn)化查詢。n 使用表名前綴可以提高執(zhí)行效率。打造中國(guó)金融IT服務(wù)業(yè)第一品牌99外連接外連接n 兩個(gè)表在連接過(guò)程中除了返回滿足連接條件的行以外還返回左(或右)表

27、中不滿足條件的行,這種連接稱為左(或右)外聯(lián)接。n 兩個(gè)表在連接過(guò)程中除了返回滿足連接條件的行以外還返回兩個(gè)表中不滿足條件的行,這種連接稱為滿外聯(lián)接。打造中國(guó)金融IT服務(wù)業(yè)第一品牌100左外聯(lián)接左外聯(lián)接打造中國(guó)金融IT服務(wù)業(yè)第一品牌101右外聯(lián)接右外聯(lián)接打造中國(guó)金融IT服務(wù)業(yè)第一品牌102滿外聯(lián)接滿外聯(lián)接打造中國(guó)金融IT服務(wù)業(yè)第一品牌103增加連接條件增加連接條件打造中國(guó)金融IT服務(wù)業(yè)第一品牌104分組函數(shù)分組函數(shù)n 分組函數(shù)作用于一組數(shù)據(jù),并對(duì)一組數(shù)據(jù)返回一個(gè)值。打造中國(guó)金融IT服務(wù)業(yè)第一品牌105組函數(shù)類型及語(yǔ)法組函數(shù)類型及語(yǔ)法n AVG n COUNT n MAX n MIN n STD

28、DEVn SUM打造中國(guó)金融IT服務(wù)業(yè)第一品牌106AVGAVG(平均值)和(平均值)和SUMSUM(合計(jì))函數(shù)(合計(jì))函數(shù)n 可以對(duì)數(shù)值型數(shù)據(jù)使用AVG和SUM函數(shù)。打造中國(guó)金融IT服務(wù)業(yè)第一品牌107MINMIN(最小值)和(最小值)和MAXMAX(最大值)函數(shù)(最大值)函數(shù)n 可以對(duì)任意數(shù)據(jù)類型的數(shù)據(jù)使用MIN和MAX函數(shù)。打造中國(guó)金融IT服務(wù)業(yè)第一品牌108COUNTCOUNT(計(jì)數(shù))函數(shù)(計(jì)數(shù))函數(shù)n COUNT(*)返回表中記錄總數(shù)。打造中國(guó)金融IT服務(wù)業(yè)第一品牌109DISTINCTDISTINCT關(guān)鍵字關(guān)鍵字n COUNT(DISTINCT expr)返回expr非空且不重復(fù)的

29、記錄總數(shù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌110組函數(shù)及空值組函數(shù)及空值n 組函數(shù)忽略空值。打造中國(guó)金融IT服務(wù)業(yè)第一品牌111在組函數(shù)中使用在組函數(shù)中使用NVLNVL函數(shù)函數(shù)n NVL函數(shù)使分組函數(shù)無(wú)法忽略空值。打造中國(guó)金融IT服務(wù)業(yè)第一品牌112分組數(shù)據(jù)分組數(shù)據(jù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌113分組數(shù)據(jù)分組數(shù)據(jù): GROUP BY: GROUP BY子句子句n 可以使用GROUPBY子句將表中的數(shù)據(jù)分成若干組n 在SELECT列表中所有未包含在組函數(shù)中的列都應(yīng)該 包含在GROUP BY子句中。打造中國(guó)金融IT服務(wù)業(yè)第一品牌114分組數(shù)據(jù)分組數(shù)據(jù): GROUP BY: GROUP BY子句子句

30、n 包含在GROUP BY 子句中的列不必包含在SELECT列表中。打造中國(guó)金融IT服務(wù)業(yè)第一品牌115使用多個(gè)列分組使用多個(gè)列分組打造中國(guó)金融IT服務(wù)業(yè)第一品牌116在在GROUP BYGROUP BY子句中包含多個(gè)列子句中包含多個(gè)列打造中國(guó)金融IT服務(wù)業(yè)第一品牌117過(guò)濾分組過(guò)濾分組打造中國(guó)金融IT服務(wù)業(yè)第一品牌118過(guò)濾分組:過(guò)濾分組:HAVINGHAVING子句子句n 使用HAVING過(guò)濾分組:n 1.行已經(jīng)被分組。n 2.使用了組函數(shù)。n 3.滿足HAVING子句中條件的分組將被顯示。打造中國(guó)金融IT服務(wù)業(yè)第一品牌119嵌套組函數(shù)嵌套組函數(shù)n 顯示平均工資的最大值打造中國(guó)金融IT服務(wù)

31、業(yè)第一品牌120作業(yè)作業(yè)n 查詢emp表求每個(gè)部門的總工資n 求部門的總工資,只顯示總工資小于10000的部門打造中國(guó)金融IT服務(wù)業(yè)第一品牌121子查詢和集合打造中國(guó)金融IT服務(wù)業(yè)第一品牌122使用子查詢解決問(wèn)題使用子查詢解決問(wèn)題打造中國(guó)金融IT服務(wù)業(yè)第一品牌123子查詢子查詢n 子查詢(內(nèi)查詢) 在主查詢之前一次執(zhí)行完成。n 子查詢的結(jié)果被主查詢使用(外查詢)。打造中國(guó)金融IT服務(wù)業(yè)第一品牌124子查詢注意事項(xiàng)子查詢注意事項(xiàng)n 子查詢要包含在括號(hào)內(nèi)。n 將子查詢放在比較條件的右側(cè)。n 除非進(jìn)行Top-N 分析,否則不要在子查詢中使用ORDER BY子句。n 單行操作符對(duì)應(yīng)單行子查詢,多行操作

32、符對(duì)應(yīng)多行子查詢。打造中國(guó)金融IT服務(wù)業(yè)第一品牌125子查詢類型子查詢類型打造中國(guó)金融IT服務(wù)業(yè)第一品牌126單行子查詢單行子查詢n 只返回一行。n 使用單行比較操作符。打造中國(guó)金融IT服務(wù)業(yè)第一品牌127執(zhí)行單行子查詢執(zhí)行單行子查詢打造中國(guó)金融IT服務(wù)業(yè)第一品牌128子查詢中的空值問(wèn)題子查詢中的空值問(wèn)題打造中國(guó)金融IT服務(wù)業(yè)第一品牌129多行子查詢多行子查詢n 返回多行。n 使用多行比較操作符。打造中國(guó)金融IT服務(wù)業(yè)第一品牌130在多行子查詢中使用在多行子查詢中使用ANYANY操作符操作符打造中國(guó)金融IT服務(wù)業(yè)第一品牌131在多行子查詢中使用在多行子查詢中使用ALL ALL 操作符操作符打造

33、中國(guó)金融IT服務(wù)業(yè)第一品牌132集合集合n UNION操作符n UNION操作符返回兩個(gè)查詢的結(jié)果集的并集打造中國(guó)金融IT服務(wù)業(yè)第一品牌133UNIONUNION操作符舉例操作符舉例打造中國(guó)金融IT服務(wù)業(yè)第一品牌134UNION ALL UNION ALL 操作符操作符n UNION ALL操作符返回兩個(gè)查詢的結(jié)果集的并集以及兩個(gè)結(jié)果集的重復(fù)部分(不去重)打造中國(guó)金融IT服務(wù)業(yè)第一品牌135UNION ALL UNION ALL 操作符舉例操作符舉例打造中國(guó)金融IT服務(wù)業(yè)第一品牌136INTERSECT INTERSECT 操作符操作符n INTERSECT 操作符返回兩個(gè)結(jié)果集的交集打造中國(guó)

34、金融IT服務(wù)業(yè)第一品牌137INTERSECT INTERSECT 操作符舉例操作符舉例打造中國(guó)金融IT服務(wù)業(yè)第一品牌138MINUS MINUS 操作符操作符n MINUS 操作符返回兩個(gè)結(jié)果集的補(bǔ)集打造中國(guó)金融IT服務(wù)業(yè)第一品牌139MINUS MINUS 操作符舉例操作符舉例打造中國(guó)金融IT服務(wù)業(yè)第一品牌140總結(jié)總結(jié)n 通過(guò)本章學(xué)習(xí),您已經(jīng)學(xué)會(huì): n 在什么時(shí)候遇到什么問(wèn)題應(yīng)該使用子查詢。n 在查詢是基于未知的值時(shí)應(yīng)使用子查詢。n 使用UNION操作符n 使用UNION ALL 操作符n 使用INTERSECT 操作符n 使用MINUS操作符打造中國(guó)金融IT服務(wù)業(yè)第一品牌141作業(yè)作業(yè)

35、n 查找所有10部門的經(jīng)理和 20部門的辦事員n 查詢工資要大于部門所有人的工資,大于部門的最高工資打造中國(guó)金融IT服務(wù)業(yè)第一品牌142處理數(shù)據(jù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌143數(shù)據(jù)控制語(yǔ)言數(shù)據(jù)控制語(yǔ)言n DML 可以在下列條件下執(zhí)行:n 向表中插入數(shù)據(jù)n 修改現(xiàn)存數(shù)據(jù)n 刪除現(xiàn)存數(shù)據(jù)n 事務(wù)是由完成若干項(xiàng)工作的DML語(yǔ)句組成的。打造中國(guó)金融IT服務(wù)業(yè)第一品牌144插入數(shù)據(jù)插入數(shù)據(jù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌145插入數(shù)據(jù)插入數(shù)據(jù)n 為每一列添加一個(gè)新值。n 按列的默認(rèn)順序列出各個(gè)列的值。n 在INSERT子句中隨意列出列名和他們的值。n 字符和日期型數(shù)據(jù)應(yīng)包含在單引號(hào)中。打造中國(guó)金融IT

36、服務(wù)業(yè)第一品牌146向表中插入空值向表中插入空值n 隱式方式: 在列名表中省略該列的值。n 顯示方式:在VALUES 子句中指定空值。打造中國(guó)金融IT服務(wù)業(yè)第一品牌147插入指定的值插入指定的值打造中國(guó)金融IT服務(wù)業(yè)第一品牌148從其它表中拷貝數(shù)據(jù)從其它表中拷貝數(shù)據(jù)n 在INSERT 語(yǔ)句中加入子查詢n 不必書寫VALUES 子句。n 子查詢中的值列表應(yīng)于INSERT子句中的列名對(duì)應(yīng)。打造中國(guó)金融IT服務(wù)業(yè)第一品牌149更新數(shù)據(jù)更新數(shù)據(jù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌150更新數(shù)據(jù)更新數(shù)據(jù)n 使用UPDATE語(yǔ)句更新數(shù)據(jù)。n 可以一次更新多條數(shù)據(jù)。n 使用WHERE子句指定需要更新的數(shù)據(jù)。n 如

37、果省略WHERE子句,則表中的所有數(shù)據(jù)都將被更新。打造中國(guó)金融IT服務(wù)業(yè)第一品牌151在在UPDATEUPDATE語(yǔ)句中使用子查詢語(yǔ)句中使用子查詢n 更新114號(hào)員工的工作和工資使其及205號(hào)員工相同。打造中國(guó)金融IT服務(wù)業(yè)第一品牌152刪除數(shù)據(jù)刪除數(shù)據(jù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌153刪除數(shù)據(jù)刪除數(shù)據(jù)n 使用DELETE語(yǔ)句從表中刪除數(shù)據(jù)。n 使用WHERE子句指定刪除的記錄。n 如果省略WHERE子句,則表中的全部數(shù)據(jù)將被刪除。打造中國(guó)金融IT服務(wù)業(yè)第一品牌154在在DELETE DELETE 中使用子查詢中使用子查詢n 在DELETE 中使用子查詢,使刪除基于另一個(gè)表中的數(shù)據(jù)。打造中國(guó)

38、金融IT服務(wù)業(yè)第一品牌155數(shù)據(jù)庫(kù)事務(wù)數(shù)據(jù)庫(kù)事務(wù)n 數(shù)據(jù)庫(kù)事務(wù)由以下的部分組成:n 一個(gè)或多個(gè)DML 語(yǔ)句n 一個(gè)DDL 語(yǔ)句n 一個(gè)DCL 語(yǔ)句n 以第一個(gè)DML語(yǔ)句的執(zhí)行作為開(kāi)始n 以下面的其中之一作為結(jié)束:n COMMIT 或ROLLBACK語(yǔ)句n DDL 或DCL 語(yǔ)句(自動(dòng)提交)n 用戶會(huì)話正常結(jié)束打造中國(guó)金融IT服務(wù)業(yè)第一品牌156COMMITCOMMIT和和ROLLBACKROLLBACK語(yǔ)句的優(yōu)點(diǎn)語(yǔ)句的優(yōu)點(diǎn)n 使用COMMIT和ROLLBACK語(yǔ)句,我們可以: n 確保數(shù)據(jù)完整性。n 數(shù)據(jù)改變被提交之前預(yù)覽。n 將邏輯上相關(guān)的操作分組。打造中國(guó)金融IT服務(wù)業(yè)第一品牌157回滾到

39、保留點(diǎn)回滾到保留點(diǎn)n 使用SAVEPOINT語(yǔ)句在當(dāng)前事務(wù)中創(chuàng)建保存點(diǎn)。n 使用ROLLBACK TOSAVEPOINT語(yǔ)句回滾到創(chuàng)建的保存點(diǎn)打造中國(guó)金融IT服務(wù)業(yè)第一品牌158事務(wù)進(jìn)程事務(wù)進(jìn)程n 自動(dòng)提交在以下情況中執(zhí)行:n DDL 語(yǔ)句。n DCL 語(yǔ)句。n 會(huì)話異常結(jié)束或系統(tǒng)異常會(huì)導(dǎo)致自動(dòng)回滾。打造中國(guó)金融IT服務(wù)業(yè)第一品牌159提交或回滾前的數(shù)據(jù)狀態(tài)提交或回滾前的數(shù)據(jù)狀態(tài)n 改變前的數(shù)據(jù)狀態(tài)是可以恢復(fù)的n 執(zhí)行DML 操作的用戶可以通過(guò)SELECT語(yǔ)句查詢之前的修正n 其他用戶不能看到當(dāng)前用戶所做的改變,直到當(dāng)前用戶結(jié)束事務(wù)。n DML語(yǔ)句所涉及到的行被鎖定,其他用戶不能操作。打造中國(guó)

40、金融IT服務(wù)業(yè)第一品牌160提交后的數(shù)據(jù)狀態(tài)提交后的數(shù)據(jù)狀態(tài)n 數(shù)據(jù)的改變已經(jīng)被保存到數(shù)據(jù)庫(kù)中。n 改變前的數(shù)據(jù)已經(jīng)丟失。n 所有用戶可以看到結(jié)果。n 鎖被釋放,其他用戶可以操作涉及到的數(shù)據(jù)。n 所有保存點(diǎn)被釋放。打造中國(guó)金融IT服務(wù)業(yè)第一品牌161提交數(shù)據(jù)提交數(shù)據(jù)n 改變數(shù)據(jù)n 提交改變打造中國(guó)金融IT服務(wù)業(yè)第一品牌162數(shù)據(jù)回滾后的狀態(tài)數(shù)據(jù)回滾后的狀態(tài)n 使用ROLLBACK語(yǔ)句可使數(shù)據(jù)變化失效:n 數(shù)據(jù)改變被取消。n 修改前的數(shù)據(jù)狀態(tài)可以被恢復(fù)。n 鎖被釋放。打造中國(guó)金融IT服務(wù)業(yè)第一品牌163讀一致性讀一致性n 讀一致性為數(shù)據(jù)提供一個(gè)一致的視圖。n 一個(gè)用戶的對(duì)數(shù)據(jù)的改變不會(huì)影響其他用

41、戶的改變。n 對(duì)于相同的數(shù)據(jù)讀一致性保證:n 查詢不等待修改。n 修改不等待查詢。打造中國(guó)金融IT服務(wù)業(yè)第一品牌164總結(jié)總結(jié)n 通過(guò)本章學(xué)習(xí), 您應(yīng)學(xué)會(huì)如何使用DML語(yǔ)句改變數(shù)據(jù)和事務(wù)控制打造中國(guó)金融IT服務(wù)業(yè)第一品牌165作業(yè)作業(yè)n 為表DEPT80插入一行數(shù)據(jù)n Employee_id:1587n Name :Johnn Email:n Hire_date:sysdaten Job_id:AD_PRESn更新DEPT80表,將lindsey的工資和崗位修改為及Ellen完全相同n刪除雇員lindsey打造中國(guó)金融IT服務(wù)業(yè)第一品牌166目錄目錄 ORACLE數(shù)據(jù)庫(kù)簡(jiǎn)介 ORACLE SQ

42、L ORACLE數(shù)據(jù)庫(kù)對(duì)象打造中國(guó)金融IT服務(wù)業(yè)第一品牌167常見(jiàn)的數(shù)據(jù)庫(kù)對(duì)象常見(jiàn)的數(shù)據(jù)庫(kù)對(duì)象打造中國(guó)金融IT服務(wù)業(yè)第一品牌168表打造中國(guó)金融IT服務(wù)業(yè)第一品牌169創(chuàng)建表創(chuàng)建表打造中國(guó)金融IT服務(wù)業(yè)第一品牌170命名規(guī)則命名規(guī)則n 表名和列名:n 必須以字母開(kāi)頭n 必須在130 個(gè)字符之間n 必須只能包含AZ, az, 09, _, $, 和#n 必須不能和用戶定義的其他對(duì)象重名n 必須不能是Oracle 的保留字打造中國(guó)金融IT服務(wù)業(yè)第一品牌171Oracle Oracle 數(shù)據(jù)庫(kù)中的表數(shù)據(jù)庫(kù)中的表n 用戶定義的表:n 用戶自己創(chuàng)建并維護(hù)的一組表n 包含了用戶所需的信息n 數(shù)據(jù)字典:n

43、由Oracle Server自動(dòng)創(chuàng)建的一組表n 包含數(shù)據(jù)庫(kù)信息打造中國(guó)金融IT服務(wù)業(yè)第一品牌172查詢數(shù)據(jù)字典查詢數(shù)據(jù)字典打造中國(guó)金融IT服務(wù)業(yè)第一品牌173數(shù)據(jù)類型數(shù)據(jù)類型打造中國(guó)金融IT服務(wù)業(yè)第一品牌174使用子查詢創(chuàng)建表使用子查詢創(chuàng)建表打造中國(guó)金融IT服務(wù)業(yè)第一品牌175ALTER TABLEALTER TABLE語(yǔ)句語(yǔ)句n 使用ALTERTABLE語(yǔ)句可以:n 追加新的列n 修改現(xiàn)有的列n 為新追加的列定義默認(rèn)值n 刪除一個(gè)列打造中國(guó)金融IT服務(wù)業(yè)第一品牌176追加一個(gè)新列追加一個(gè)新列打造中國(guó)金融IT服務(wù)業(yè)第一品牌177修改一個(gè)列修改一個(gè)列打造中國(guó)金融IT服務(wù)業(yè)第一品牌178刪除一個(gè)列

44、刪除一個(gè)列打造中國(guó)金融IT服務(wù)業(yè)第一品牌179刪除表刪除表n 數(shù)據(jù)和結(jié)構(gòu)都被刪除n 所有正在運(yùn)行的相關(guān)事物被提交n 所有相關(guān)索引被刪除n DROP TABLE語(yǔ)句不能回滾打造中國(guó)金融IT服務(wù)業(yè)第一品牌180改變對(duì)象的名稱改變對(duì)象的名稱n 執(zhí)行RENAME語(yǔ)句改變表, 視圖, 序列, 或同義詞的名稱n 必須是對(duì)象的擁有者打造中國(guó)金融IT服務(wù)業(yè)第一品牌181清空表清空表n TRUNCATE TABLE語(yǔ)句:n 刪除表中所有的數(shù)據(jù)n 釋放表的存儲(chǔ)空間n TRUNCATE語(yǔ)句不能回滾n 可以使用DELETE語(yǔ)句刪除數(shù)據(jù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌182約束約束n 約束是表級(jí)的強(qiáng)制規(guī)定n 約束放置在表

45、中刪除有關(guān)聯(lián)關(guān)系的數(shù)據(jù)n 有以下五種約束:n NOT NULLn UNIQUE n PRIMARY KEYn FOREIGN KEYn CHECK打造中國(guó)金融IT服務(wù)業(yè)第一品牌183NOT NULLNOT NULL約束約束打造中國(guó)金融IT服務(wù)業(yè)第一品牌184UNIQUEUNIQUE約束約束打造中國(guó)金融IT服務(wù)業(yè)第一品牌185UNIQUEUNIQUE約束約束打造中國(guó)金融IT服務(wù)業(yè)第一品牌186PRIMARY KEYPRIMARY KEY約束約束打造中國(guó)金融IT服務(wù)業(yè)第一品牌187PRIMARY KEYPRIMARY KEY約束約束打造中國(guó)金融IT服務(wù)業(yè)第一品牌188FOREIGN KEYFORE

46、IGN KEY約束約束打造中國(guó)金融IT服務(wù)業(yè)第一品牌189FOREIGN KEYFOREIGN KEY約束約束打造中國(guó)金融IT服務(wù)業(yè)第一品牌190CHECKCHECK約束約束n 定義每一行必須滿足的條件n 以下的表達(dá)式是不允許的:n 出現(xiàn)CURRVAL, NEXTVAL, LEVEL, 和ROWNUM偽列n 使用SYSDATE, UID, USER, 和USERENV函數(shù)n 在查詢中涉及到其它列的值打造中國(guó)金融IT服務(wù)業(yè)第一品牌191添加及刪除約束添加及刪除約束打造中國(guó)金融IT服務(wù)業(yè)第一品牌192總結(jié)總結(jié)n 通過(guò)本章學(xué)習(xí)應(yīng)該掌握n 如何建立一個(gè)表n 如何給表的列上增加主鍵,外鍵等約束n 修改和

47、刪除表打造中國(guó)金融IT服務(wù)業(yè)第一品牌193作業(yè)作業(yè)n 建立author表n 列名:id number(3)n Name:varchar2(10)n Sal:number(6,2)n維護(hù)author表n 為author表增加一列address varchar2(100)n 修改author表sal列為number(20,2)n 刪除author表n在dept表的name列增加唯一約束un_dept_namen在dept表的eno列上增加主鍵約束pk_emp01打造中國(guó)金融IT服務(wù)業(yè)第一品牌194視圖打造中國(guó)金融IT服務(wù)業(yè)第一品牌195視圖視圖打造中國(guó)金融IT服務(wù)業(yè)第一品牌196為什么使用視圖為什

48、么使用視圖n 控制數(shù)據(jù)訪問(wèn)n 簡(jiǎn)化查詢n 數(shù)據(jù)獨(dú)立性n 避免重復(fù)訪問(wèn)相同的數(shù)據(jù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌197簡(jiǎn)單視圖和復(fù)雜視圖簡(jiǎn)單視圖和復(fù)雜視圖打造中國(guó)金融IT服務(wù)業(yè)第一品牌198創(chuàng)建視圖創(chuàng)建視圖打造中國(guó)金融IT服務(wù)業(yè)第一品牌199查詢視圖查詢視圖打造中國(guó)金融IT服務(wù)業(yè)第一品牌200修改視圖修改視圖打造中國(guó)金融IT服務(wù)業(yè)第一品牌201創(chuàng)建復(fù)雜視圖創(chuàng)建復(fù)雜視圖打造中國(guó)金融IT服務(wù)業(yè)第一品牌202刪除視圖刪除視圖打造中國(guó)金融IT服務(wù)業(yè)第一品牌203總結(jié)總結(jié)n 通過(guò)本章學(xué)習(xí),您已經(jīng)了解視圖的優(yōu)點(diǎn)和基本應(yīng)用:n 控制數(shù)據(jù)訪問(wèn)n 簡(jiǎn)化查詢n 數(shù)據(jù)獨(dú)立性n 刪除時(shí)不刪除數(shù)據(jù)打造中國(guó)金融IT服務(wù)業(yè)第一品牌204作業(yè)作業(yè)n 基于emp表的雇員號(hào)、雇員名、工資和部門號(hào)建立簡(jiǎn)單視圖emp_vu,并定義列名為eno、name、sal、dnon 刪除視圖emp_vu打造中國(guó)金融IT服務(wù)業(yè)第一品牌205其他數(shù)據(jù)庫(kù)對(duì)象打造中國(guó)金融IT服務(wù)業(yè)第一品牌206序列序列n 序列:n 自動(dòng)提供唯一的數(shù)值n 共享對(duì)象n 主要用于提供主鍵值n 代替應(yīng)用代碼n 將序列

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論