oracle數(shù)據(jù)庫應(yīng)用-dt0-董天寧_第1頁
oracle數(shù)據(jù)庫應(yīng)用-dt0-董天寧_第2頁
oracle數(shù)據(jù)庫應(yīng)用-dt0-董天寧_第3頁
oracle數(shù)據(jù)庫應(yīng)用-dt0-董天寧_第4頁
oracle數(shù)據(jù)庫應(yīng)用-dt0-董天寧_第5頁
已閱讀5頁,還剩112頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Oracle數(shù)數(shù)據(jù)庫應(yīng)用貴州鴻皓教育機(jī)機(jī)構(gòu)目錄TOC o 1-3 h z u HYPERLINK l _Toc 第一章 初識OOraclee PAGEREF _Toc h 4 HYPERLINK l _Toc 1.1 Oraacle簡介介 PAGEREF _Toc h 5 HYPERLINK l _Toc 1.2 Oraacle安裝裝 PAGEREF _Toc h 6 HYPERLINK l _Toc 1.3 Oraacle客戶戶端工具 PAGEREF _Toc h 111 HYPERLINK l _Toc 1.3.1 SSQL*Pllus工具 PAGEREF _Toc h 11 HYPERL

2、INK l _Toc 1.3.2 SSQL*Pllus命令行行工具 PAGEREF _Toc h 12 HYPERLINK l _Toc 1.3.3 配配置本地網(wǎng)絡(luò)絡(luò)服務(wù)名 PAGEREF _Toc h 144 HYPERLINK l _Toc 1.3.4 PPL/SQLL Deveeloperr工具 PAGEREF _Toc h 18 HYPERLINK l _Toc 1.4 Oraacle服務(wù)務(wù) PAGEREF _Toc h 18 HYPERLINK l _Toc 1.5 Oraacle啟動動和關(guān)閉 PAGEREF _Toc h 200 HYPERLINK l _Toc 1.6 Oraac

3、le用戶戶和權(quán)限 PAGEREF _Toc h 211 HYPERLINK l _Toc 1.7 本章總總結(jié) PAGEREF _Toc h 24 HYPERLINK l _Toc 1.8 本章練練習(xí) PAGEREF _Toc h 25 HYPERLINK l _Toc 第二章 數(shù)據(jù)查查詢和操作 PAGEREF _Toc h 227 HYPERLINK l _Toc 2.1 SQLL簡介 PAGEREF _Toc h 28 HYPERLINK l _Toc 2.2 Oraacle數(shù)據(jù)據(jù)類型 PAGEREF _Toc h 28 HYPERLINK l _Toc 2.3 創(chuàng)建表表和約束 PAGERE

4、F _Toc h 300 HYPERLINK l _Toc 2.4 數(shù)據(jù)操操縱語言(DDML) PAGEREF _Toc h 32 HYPERLINK l _Toc 2.4.1 簡簡單查詢 PAGEREF _Toc h 322 HYPERLINK l _Toc 2.4.2 數(shù)數(shù)據(jù)插入 PAGEREF _Toc h 344 HYPERLINK l _Toc 2.4.3 更更新數(shù)據(jù) PAGEREF _Toc h 366 HYPERLINK l _Toc 2.4.4 刪刪除數(shù)據(jù) PAGEREF _Toc h 366 HYPERLINK l _Toc 2.4.5 TTRUNCAATE PAGEREF

5、_Toc h 37 HYPERLINK l _Toc 2.5 操作符符 PAGEREF _Toc h 37 HYPERLINK l _Toc 2.5.1 算算術(shù)運(yùn)算 PAGEREF _Toc h 377 HYPERLINK l _Toc 2.5.2 關(guān)關(guān)系運(yùn)算和邏邏輯運(yùn)算 PAGEREF _Toc h 388 HYPERLINK l _Toc 2.6 高級查查詢 PAGEREF _Toc h 39 HYPERLINK l _Toc 2.6.1 消消除重復(fù)行 PAGEREF _Toc h 339 HYPERLINK l _Toc 2.6.2 NNULL操作作 PAGEREF _Toc h 40

6、HYPERLINK l _Toc 2.6.3 IIN 操作 PAGEREF _Toc h 40 HYPERLINK l _Toc 2.6.4 BBETWEEENANDD PAGEREF _Toc h 41 HYPERLINK l _Toc 2.6.5 LLIKE模糊糊查詢 PAGEREF _Toc h 42 HYPERLINK l _Toc 2.6.6 集集合運(yùn)算 PAGEREF _Toc h 433 HYPERLINK l _Toc 2.6.7 連連接查詢 PAGEREF _Toc h 444 HYPERLINK l _Toc 2.7 本章總總結(jié) PAGEREF _Toc h 47 HYPE

7、RLINK l _Toc 2.8 本章練練習(xí) PAGEREF _Toc h 48 HYPERLINK l _Toc 第三章 子查詢詢和常用函數(shù)數(shù) PAGEREF _Toc h 51 HYPERLINK l _Toc 3.1 子查詢詢 PAGEREF _Toc h 52 HYPERLINK l _Toc 3.2 Oraacle中的的偽列 PAGEREF _Toc h 54 HYPERLINK l _Toc 3.2.1 RROWID PAGEREF _Toc h 554 HYPERLINK l _Toc 3.2.2 RROWNUMM PAGEREF _Toc h 55 HYPERLINK l _T

8、oc 3.3 Oraacle函數(shù)數(shù) PAGEREF _Toc h 57 HYPERLINK l _Toc 3.3.1 字字符函數(shù) PAGEREF _Toc h 577 HYPERLINK l _Toc 3.3.2 數(shù)數(shù)字函數(shù) PAGEREF _Toc h 599 HYPERLINK l _Toc 3.3.3 日日期函數(shù) PAGEREF _Toc h 600 HYPERLINK l _Toc 3.3.4 轉(zhuǎn)轉(zhuǎn)換函數(shù) PAGEREF _Toc h 622 HYPERLINK l _Toc 3.3.5 其其他單行函數(shù)數(shù) PAGEREF _Toc h 64 HYPERLINK l _Toc 3.3.6

9、 聚聚合函數(shù) PAGEREF _Toc h 655 HYPERLINK l _Toc 3.4 本章總總結(jié) PAGEREF _Toc h 67 HYPERLINK l _Toc 3.5 本章練練習(xí) PAGEREF _Toc h 68 HYPERLINK l _Toc 第四章 表空間間、數(shù)據(jù)庫對對象 PAGEREF _Toc h 70 HYPERLINK l _Toc 4.1 Oraacle數(shù)據(jù)據(jù)庫對象 PAGEREF _Toc h 711 HYPERLINK l _Toc 4.2 同義詞詞 PAGEREF _Toc h 71 HYPERLINK l _Toc 4.3 序列 PAGEREF _To

10、c h 774 HYPERLINK l _Toc 4.4 視圖 PAGEREF _Toc h 776 HYPERLINK l _Toc 4.5 索引 PAGEREF _Toc h 778 HYPERLINK l _Toc 4.6 表空間間 PAGEREF _Toc h 80 HYPERLINK l _Toc 4.7 本章總總結(jié) PAGEREF _Toc h 84 HYPERLINK l _Toc 4.8 本章練練習(xí) PAGEREF _Toc h 85 HYPERLINK l _Toc 第五章 PL/SQL程序序設(shè)計 PAGEREF _Toc h 88 HYPERLINK l _Toc 5.1

11、PL/SQL簡介介 PAGEREF _Toc h 89 HYPERLINK l _Toc 5.2 PL/SQL塊 PAGEREF _Toc h 90 HYPERLINK l _Toc 5.2.1 變變量聲明 PAGEREF _Toc h 922 HYPERLINK l _Toc 5.2.2 聲聲明常量 PAGEREF _Toc h 933 HYPERLINK l _Toc 5.3 PL/SQL數(shù)據(jù)據(jù)類型 PAGEREF _Toc h 94 HYPERLINK l _Toc 5.3.1 標(biāo)標(biāo)量數(shù)據(jù)類型型 PAGEREF _Toc h 95 HYPERLINK l _Toc 5.3.2 屬屬性數(shù)據(jù)

12、類型型 PAGEREF _Toc h 96 HYPERLINK l _Toc 5.4 PL/SQL條件件控制和循環(huán)環(huán)控制 PAGEREF _Toc h 97 HYPERLINK l _Toc 5.4.1 條條件控制 PAGEREF _Toc h 988 HYPERLINK l _Toc 5.4.2 循循環(huán)結(jié)構(gòu) PAGEREF _Toc h 1004 HYPERLINK l _Toc 5.4.3 順順序結(jié)構(gòu) PAGEREF _Toc h 1007 HYPERLINK l _Toc 5.5 PL/SQL中動動態(tài)執(zhí)行SQQL語句 PAGEREF _Toc h 108 HYPERLINK l _Toc

13、 5.6 PL/SQL的異異常處理 PAGEREF _Toc h 1110 HYPERLINK l _Toc 5.6.2 預(yù)預(yù)定義異常 PAGEREF _Toc h 1110 HYPERLINK l _Toc 5.6.3 自自定義異常 PAGEREF _Toc h 1112 HYPERLINK l _Toc 5.6.4 引引發(fā)應(yīng)用程序序異常 PAGEREF _Toc h 1133 HYPERLINK l _Toc 5.7 本章總總結(jié) PAGEREF _Toc h 116 HYPERLINK l _Toc 5.8 本章練練習(xí) PAGEREF _Toc h 117 HYPERLINK l _Toc

14、 附錄一:數(shù)據(jù)庫庫的導(dǎo)入導(dǎo)出出 PAGEREF _Toc h 119 HYPERLINK l _Toc Oracle導(dǎo)導(dǎo)入導(dǎo)出 PAGEREF _Toc h 1119 HYPERLINK l _Toc EXP導(dǎo)出數(shù)據(jù)據(jù) PAGEREF _Toc h 119 HYPERLINK l _Toc IMP導(dǎo)入 PAGEREF _Toc h 1223 HYPERLINK l _Toc 常見問題 PAGEREF _Toc h 1233 HYPERLINK l _Toc 附錄二:上機(jī)練練習(xí) PAGEREF _Toc h 125 HYPERLINK l _Toc 第一章 PAGEREF _Toc h 125

15、HYPERLINK l _Toc 第二章 PAGEREF _Toc h 126 HYPERLINK l _Toc 第三章 PAGEREF _Toc h 129 HYPERLINK l _Toc 第四章 PAGEREF _Toc h 130 HYPERLINK l _Toc 第五章 PAGEREF _Toc h 131初識OraclleOracle簡介Oracle安裝Oracle創(chuàng)建用戶和角色客戶端連接Oracle服務(wù)器內(nèi)容提示Oracle簡簡介之前我們已經(jīng)接接觸過關(guān)系型型數(shù)據(jù)庫SQQL Serrver,對對數(shù)據(jù)庫、表表、記錄,以以及表的增刪刪改查操作等等這些基本概概念已經(jīng)了解解。Oraccle

16、是基于于對象的關(guān)系系型數(shù)據(jù)庫,OOraclee也是用表的的形式對數(shù)據(jù)據(jù)存儲和管理理,并且在OOraclee的操作中添添加了一些面面向?qū)ο蟮乃妓枷搿racle數(shù)數(shù)據(jù)庫是Orracle(中中文名稱叫甲甲骨文)公司司的核心產(chǎn)品品,Oraccle數(shù)據(jù)庫庫是一個適合合于大中型企企業(yè)的數(shù)據(jù)庫庫管理系統(tǒng)。在所有的數(shù)數(shù)據(jù)庫管理系系統(tǒng)中,Orracle的的主要用戶涉涉及面非常廣廣,包括:銀銀行、電信、移動通信、航空、保險險、金融、電電子商務(wù)和跨跨國公司等。Oraclle產(chǎn)品是免免費(fèi)的,可以以在Oraccle官方網(wǎng)網(wǎng)站上下載到到安裝包,但但是Oraccle的服務(wù)務(wù)是收費(fèi)的。Oracle公公司成立以來來,從最初的

17、的數(shù)據(jù)庫版本本到Oraccle7、OOraclee8i、Orracle99i,Oraacle100g到Oraacle111g,雖然每每一個版本之之間的操作都都存在一定的的差別,但是是Oraclle對數(shù)據(jù)的的操作基本上上都遵循SQQL標(biāo)準(zhǔn)。因因此對Oraacle開發(fā)發(fā)來說版本之之間的差別不不大。在了解了ORAACLE數(shù)據(jù)據(jù)庫后,我們們有必要對OORACLEE和Sybaase、SQQL Serrver做一一下比較, Oraclle采用的是是并行服務(wù)器器模式,而SSybasee、SQL Serveer采用的是是虛擬服務(wù)器器模式,它沒沒有將一個查查詢分解成多多個子查詢,再再在不同的CCPU上同時時執(zhí)行

18、這些子子查詢。我們們可以說在對對稱多處理方方面Oraccle的性能能優(yōu)于Sybbase的性性能。業(yè)務(wù)量量往往在系統(tǒng)統(tǒng)運(yùn)行后不斷斷提高,如果果數(shù)據(jù)庫數(shù)量量達(dá)到GB以以上時,我們們在提高系統(tǒng)統(tǒng)的性能時可可以從兩方面面入手,一種種是提高單臺臺服務(wù)器的性性能,另一種種就是增加服服務(wù)器數(shù)目?;诖?,如如果我們是提提高單臺服務(wù)務(wù)器的性能,選擇Oraacle 數(shù)數(shù)據(jù)庫較好,因?yàn)樗茉谠趯ΨQ多CPPU的系統(tǒng)上上提供并行處處理。相反,由于Sybbase的導(dǎo)導(dǎo)航服務(wù)器使使網(wǎng)上的所有有用戶都注冊冊到導(dǎo)航服務(wù)務(wù)器并通過導(dǎo)導(dǎo)航服務(wù)提出出數(shù)據(jù)訪問請請求,導(dǎo)航服服務(wù)器則將用用戶的請求分分解,然后自自動導(dǎo)向由它它所控制的多多

19、臺SQL Serveer,從而在在分散數(shù)據(jù)的的基礎(chǔ)上提供供并行處理能能力,我們可可以選擇它。這些都是在在其他條件和和環(huán)境相同的的情況下比較較的,這樣才才有可比性。在數(shù)據(jù)的分分布更新方面面,Oraccle采用的的是基于服務(wù)務(wù)器的自動的的2PC(兩兩階段提交),而Sybbase采用用的則是基于于客戶機(jī)DBB-Librrary或CCT-Libbrary的的可編程的22PC,因此此我們在選擇擇數(shù)據(jù)庫方面面,必須根據(jù)據(jù)需要進(jìn)行選選擇,比如,從從事的社會保保險軟件的開開發(fā),考慮到到數(shù)據(jù)量大,并并發(fā)操作比較較多,實(shí)時性性要求高,我我們后臺基本本采取的是OORACLEE數(shù)據(jù)庫。OOraclee服務(wù)器由OOra

20、clee數(shù)據(jù)庫和OOraclee實(shí)例組成。Oraclle實(shí)例由系系統(tǒng)全局區(qū)內(nèi)內(nèi)存結(jié)構(gòu)和用用于管理數(shù)據(jù)據(jù)庫的后臺進(jìn)進(jìn)程組成。很多人還沒有學(xué)學(xué)習(xí)Oraccle就開始始懼怕,因?yàn)闉槿藗冊谡`解解Oraclle,認(rèn)為OOraclee太難學(xué)了,認(rèn)認(rèn)為Oraccle不是一一般人用的數(shù)數(shù)據(jù)庫,其實(shí)實(shí)任何數(shù)據(jù)庫庫對應(yīng)用程序序研發(fā)人員來來說,都是大大同小異,因因?yàn)槟壳岸鄶?shù)數(shù)數(shù)據(jù)庫都支支持標(biāo)準(zhǔn)的SSQL。在OOraclee這本書中,我我們能學(xué)習(xí)到到:Oracle的的安裝Oracle數(shù)數(shù)據(jù)管理常用子查詢及常常用函數(shù)PL/SQL編編程Oracle基基本管理由于在第一學(xué)期期就已經(jīng)接觸觸了SQL Serveer,因此OOr

21、aclee數(shù)據(jù)庫的概概念不是很難難,主要是實(shí)實(shí)踐,因此在在本書的學(xué)習(xí)習(xí)中,認(rèn)真的的完成上機(jī)練練習(xí)是學(xué)習(xí)好好本書的關(guān)鍵鍵。Oracle安安裝Oracle數(shù)數(shù)據(jù)庫產(chǎn)品是是免費(fèi)的,我我們可以從OOraclee的官方網(wǎng)站站(httpp:/wwww.oraacle.ccom)下載載到程序安裝裝包,Oraacle在WWindowws下的安裝裝非常方便,安安裝開始后,一一直點(diǎn)擊安裝裝程序的“下一步”即可。1.下載Oraacle100g后,解壓壓到一個文件件夾下,單擊擊“setupp.exe”文件即可啟啟動安裝界面面。如下圖:Oracle安安裝啟動界面面Oracle主主目錄位置就就是Oraccle準(zhǔn)備安安裝的

22、位置,稱稱為“Oraclle_Homme”,一般Orracle根根據(jù)當(dāng)前計算算機(jī)的硬盤大大小默認(rèn)給出出一個合適的的位置。Orracle安安裝時可以只只安裝Oraacle軟件件,然后單獨(dú)獨(dú)創(chuàng)建數(shù)據(jù)庫庫,也可以在在上圖中選中中“創(chuàng)建啟動數(shù)數(shù)據(jù)庫”復(fù)選框,在在安裝Oraacle產(chǎn)品品時,同時創(chuàng)創(chuàng)建一個數(shù)據(jù)據(jù)庫,對初學(xué)學(xué)者來說,推推薦這樣安裝裝。填寫全局局?jǐn)?shù)據(jù)庫名,以以及管理員的的密碼。全局局?jǐn)?shù)據(jù)庫名是是數(shù)據(jù)庫在服服務(wù)器網(wǎng)絡(luò)中中的唯一標(biāo)識識。2.點(diǎn)擊“下一一步”,就會出現(xiàn)現(xiàn)如下圖內(nèi)容容,開始對OOraclee服務(wù)器進(jìn)行行環(huán)境檢查,主主要查看服務(wù)務(wù)器是否符合合Oraclle安裝的條條件,比如操操作系統(tǒng)是

23、否否支持、系統(tǒng)統(tǒng)內(nèi)存是否符符合Oraccle安裝的的最低要求等等。Oracle安安裝前環(huán)境檢檢查3.Oraclle檢查通過過后,單擊“下一步”,就會列出出所有安裝OOraclee過程中的默默認(rèn)選項(xiàng)。Oracle默默認(rèn)安裝設(shè)置置4.單擊“安裝裝”按鈕,進(jìn)入入安裝界面,這這一過程經(jīng)歷歷時間比較長長,根據(jù)計算算機(jī)的性能不不同有很大差差別。Oracle安安裝5.上圖完成后后,進(jìn)入了各各種Oraccle工具的的安裝階段,包包括網(wǎng)絡(luò)配置置向?qū)?,iSSQL*pllus等(后后面課程中講講解)。如下下圖所示:Oracle各各種工具的安安裝6.接下來自動動啟動DBCCA(Dattabasee Conffigur

24、aation Assisstant)進(jìn)進(jìn)入創(chuàng)建默認(rèn)認(rèn)數(shù)據(jù)庫階段段。DBCA下安裝裝數(shù)據(jù)庫Oracle中中的數(shù)據(jù)庫主主要是指存放放數(shù)據(jù)的文件件,這些文件件在Oraccle安裝完完成后,在計計算機(jī)硬盤上上都能找到,包包括數(shù)據(jù)文件件、控制文件件和數(shù)據(jù)庫日日志文件。數(shù)據(jù)庫創(chuàng)建后會會有一系列為為該數(shù)據(jù)庫提提供服務(wù)的內(nèi)內(nèi)存空間和后后臺進(jìn)程,稱稱為該數(shù)據(jù)庫庫的實(shí)例。每每一個數(shù)據(jù)庫庫至少會有一一個實(shí)例為其其服務(wù)。實(shí)例例中的內(nèi)存結(jié)結(jié)構(gòu)稱為系統(tǒng)統(tǒng)全局區(qū)(SSGA),系系統(tǒng)會根據(jù)當(dāng)當(dāng)前計算機(jī)系系統(tǒng)的性能給給SGA分配配非常可觀的的內(nèi)存空間。Oracle創(chuàng)創(chuàng)建數(shù)據(jù)庫不不能像SQLL Servver那樣用用一個簡單的的

25、CREATTE DATTABASEE命令就能完完成,在創(chuàng)建建數(shù)據(jù)庫的過過程中還需要要配置各種參參數(shù)。雖然有有DBCA工工具向?qū)В侨匀恍枰M(jìn)行比較麻麻煩的配置。提 示雖然一個Oraacle數(shù)據(jù)據(jù)庫服務(wù)器中中可以安裝多多個數(shù)據(jù)庫,但但是一個數(shù)據(jù)據(jù)庫會占用非非常大的內(nèi)存存空間,因此此一般一個服務(wù)務(wù)器只安裝一一個數(shù)據(jù)庫。每一個數(shù)據(jù)據(jù)庫可以有很多用戶,不不同的用戶擁擁有自己的數(shù)數(shù)據(jù)庫對象(比比如:數(shù)據(jù)庫庫表),一個個用戶如果訪問問其他用戶的的數(shù)據(jù)庫對象象,必須由對對方用戶授予予一定的權(quán)限限。不同的用用戶創(chuàng)建的表表,只能被當(dāng)當(dāng)前用戶訪問問。因此在OOraclee開發(fā)中,不不同的應(yīng)用程程序只需使用用

26、不同的用戶戶訪問即可。7.數(shù)據(jù)庫創(chuàng)建建完畢后,需需要設(shè)置數(shù)據(jù)據(jù)庫的默認(rèn)用用戶。Oraacle中為為管理員預(yù)置置了兩個用戶戶分別是SYYS和SYSTEEM。同時OOraclee為程序測試試提供了一個個普通用戶sscott,口口令管理中,可可以對數(shù)據(jù)庫庫用戶設(shè)置密密碼,設(shè)置是是否鎖定。 Oraclle客戶端使使用用戶名和和密碼登錄OOraclee系統(tǒng)后才能能對數(shù)據(jù)庫操操作。DBCA下的口口令管理為systemm,sys,scottt用戶設(shè)置密密碼默認(rèn)的用戶中,SSYS和SYYSTEM用用戶是沒有鎖鎖定的,安裝裝成功后可以以直接使用,SSCOTT用用戶默認(rèn)為鎖鎖定狀態(tài),因因此不能直接接使用,需要要把

27、SCOTTT用戶設(shè)定定為非鎖定狀狀態(tài)才能正常常使用。這一步完成后,OOraclee系統(tǒng)安裝成成功。提 示Oracle數(shù)數(shù)據(jù)庫中,默默認(rèn)情況下,所所有系統(tǒng)的數(shù)數(shù)據(jù),SQLL關(guān)鍵字等都都是大寫的,在在操作過程中中,Oraccle會自動動把這些內(nèi)容容轉(zhuǎn)換為大寫寫,因此用戶戶操作時不需需考慮大小寫寫問題,一般般情況下,為為了良好的程程序風(fēng)格,程程序中建議關(guān)關(guān)鍵字用大寫寫,非關(guān)鍵字字可以使用小小寫。Oracle客客戶端工具Oracle服服務(wù)器安裝成成功后,就可可以通過客戶戶端工具連接接Oraclle服務(wù)器了了,可以到OOraclee官方下載OOraclee專用的客戶戶端軟件,大大多客戶端工工具都是基于于

28、Oraclle客戶端軟軟件的。接下下來介紹幾種種常用的Orracle客客戶端工具。SQL*Pluus工具該工具是Oraacle系統(tǒng)統(tǒng)默認(rèn)安裝下下,自帶的一一個客戶端工工具。在Wiindowss命令行中輸輸入“sqlpllusw”命令,就能能夠啟動該工工具了。SQL*Pluus工具輸入用戶名和密密碼后,如果果SQL*PPlus與數(shù)數(shù)據(jù)庫服務(wù)器器在同一臺計計算機(jī)上,并并且當(dāng)前服務(wù)務(wù)器下只有一一個數(shù)據(jù)庫實(shí)實(shí)例,那么“主機(jī)字符串串”可以不用填填寫。提 示SQL*Pluus工具雖然然是Oraccle自帶的的工具,但是是在現(xiàn)實(shí)開發(fā)發(fā)中,基于該該環(huán)境對開發(fā)發(fā)不方便,因因此很少使用用。SQL*Pluus連接成

29、功功后就如圖所所示:SQL*Pluus工具登錄錄后SQL*Pluus命令行工工具該命令行工具,提提供了與數(shù)據(jù)據(jù)庫交互的能能力和維護(hù)數(shù)數(shù)據(jù)庫的能力力,包括了OOraclee自帶的SQQL*Pluus工具的全全部功能,在在Oraclle管理中經(jīng)經(jīng)常使用。在在命令行中輸輸入:“sqlpllus /nnolog”即可啟動該該工具。如下下圖:啟動SQL*PPlus命令令行工具輸入“sqlpplus /nologg”命令后,只只是啟動了一一個客戶端進(jìn)進(jìn)程,并沒有有與服務(wù)器連連接,連接到到Oraclle服務(wù)器的的命令是:conn 用戶戶名/密碼 as 連接接身份服務(wù)務(wù)器連接字符符串說明:1、連接身份:表示該

30、用戶戶連接后擁有有的權(quán)限。sysdba: 即數(shù)據(jù)庫庫管理員,權(quán)限包括:打開數(shù)據(jù)庫庫服務(wù)器、關(guān)閉數(shù)據(jù)庫庫服務(wù)器、備份數(shù)據(jù)庫庫、恢復(fù)數(shù)據(jù)庫庫、日志歸檔、會話限制、管理功能、創(chuàng)建數(shù)據(jù)庫庫。sys用用戶必須用ssysdbaa身份才能登登錄,sysstem用戶戶可以用普通通身份登錄。sysyopeer:即數(shù)據(jù)庫操操作員,權(quán)限包括:打開數(shù)據(jù)庫庫服務(wù)器、關(guān)閉數(shù)據(jù)庫庫服務(wù)器、備份數(shù)據(jù)庫庫、恢復(fù)數(shù)據(jù)庫庫、日志歸檔、會話限制。normal:即普通用戶戶,權(quán)限只有查查詢某些數(shù)據(jù)據(jù)表的數(shù)據(jù)。默認(rèn)的身份份是normmal用戶。2、客戶端工具具可以根據(jù)“服務(wù)器連接接字符串”對服務(wù)器進(jìn)進(jìn)行連接,有有了連接字符符串后,客戶戶

31、端就可以像像操作本機(jī)一一樣操作遠(yuǎn)程程數(shù)據(jù)庫,因因此“服務(wù)器連接接字符串”的配置也叫叫本地網(wǎng)絡(luò)服服務(wù)配置,如如果SQL*Plus工工具啟動在服服務(wù)器上,并并且服務(wù)器上上只有一個數(shù)數(shù)據(jù)庫實(shí)例的的情況下,連連接字符串可可以缺省,在在連接字符串串中包括連接接服務(wù)器的協(xié)協(xié)議,服務(wù)器器的地址,服服務(wù)器的端口口等設(shè)置,OOraclee服務(wù)名等,該該配置文件在在Oraclle安裝目錄錄下的: nnetworrk/ADMINN/ tnsnnames.ora。該該文件是一個個文本文件,用用記事本打開開后如下圖所所示:服務(wù)器連接字符符串配置配置本地網(wǎng)絡(luò)服服務(wù)名1、本地網(wǎng)絡(luò)服服務(wù)名,即客客戶端與服務(wù)務(wù)器連接的字字符串

32、,本地地網(wǎng)絡(luò)服務(wù)名名是客戶端的的配置,Orracle客客戶端安裝后后,可以使用用客戶端自帶帶的網(wǎng)絡(luò)配置置向?qū)В∟eet Connfigurrationn Assiistantt)進(jìn)行配置置:啟動Net CConfigguratiion Asssistaant。選擇擇“本地Nett服務(wù)名配置置”選項(xiàng)。如下下圖所示:啟動Net CConfigguratiion Asssistaant2、選擇“下一一步”,本步驟可可以對本地網(wǎng)網(wǎng)絡(luò)服務(wù)名進(jìn)進(jìn)行添加、刪刪除、測試是是否正常、連連接等操作,選選擇“添加”選項(xiàng)。Net Connfigurrationn Assiistantt3、點(diǎn)擊“下一一步”,填寫服務(wù)務(wù)

33、名,該服務(wù)務(wù)名就是Orracle安安裝時(圖11.1),為為數(shù)據(jù)庫取的的全局?jǐn)?shù)據(jù)庫庫名。服務(wù)名配置4、點(diǎn)擊“下一一步”,選擇服務(wù)務(wù)需要的協(xié)議議,默認(rèn)是TTCP協(xié)議。推薦使用默默認(rèn)的TCPP協(xié)議。選擇協(xié)議5、點(diǎn)擊“下一一步”,輸入主機(jī)機(jī)名,主機(jī)名名可以是計算算機(jī)名稱,也也可以是一個個IP地址,主主機(jī)如果是本本機(jī),可以使使用本機(jī)計算算機(jī)名稱、“l(fā)ocallhost”、“127.00.0.1”、或者本機(jī)機(jī)的IP地址址。輸入主機(jī)名和端端口6、單擊“下一一步”,選擇“是,進(jìn)行測測試”選項(xiàng)。進(jìn)入入下圖界面。測試成功在測試時,默認(rèn)認(rèn)采用的用戶戶名和密碼是是systeem/mannager進(jìn)進(jìn)行測試,如如果用

34、戶syystem的的密碼不是“managger”,有可能測測試通不過,更更改登錄密碼碼后,輸入正正確的用戶名名和密碼后再再進(jìn)行測試即即可。7、測試成功后后,單擊“下一步”,出現(xiàn)如下下界面,這一一步是為本地地網(wǎng)絡(luò)服務(wù)命命名,即圖112中的服務(wù)務(wù)器連接字符符串名。為網(wǎng)絡(luò)服務(wù)名命命名點(diǎn)擊“下一步”,配置就完完成了,進(jìn)入入tnsnaames.oora文件中中查看,就出出現(xiàn)了如圖11.12中的的內(nèi)容。PL/SQL Develloper工工具在實(shí)際Oraccle開發(fā)中中,經(jīng)常使用用一個功能強(qiáng)強(qiáng)大的第三方方工具:“PL/SQQL Devvelopeer”工具。PLL/SQL Develloper基基本上可以

35、實(shí)實(shí)現(xiàn)Oraccle開發(fā)中中的任何操作作。它運(yùn)行在在客戶端時必必須先安裝OOraclee客戶端,并并且通過網(wǎng)絡(luò)絡(luò)配置向?qū)渑渲镁W(wǎng)絡(luò)服務(wù)務(wù)名后才能正正常與服務(wù)器器連接。PL/SQL Develloper是是一個集成開開發(fā)環(huán)境,專專門面向Orracle數(shù)數(shù)據(jù)庫存儲程程序單元的開開發(fā)。如今,有有越來越多的的商業(yè)邏輯和和應(yīng)用邏輯轉(zhuǎn)轉(zhuǎn)向了Oraacle SServerr,因此,PPL/SQLL編程也成了了整個開發(fā)過過程的一個重重要組成部分分。PL/SSQL Deevelopper側(cè)重于于易用性、代代碼品質(zhì)和生生產(chǎn)力,充分分發(fā)揮Oraacle應(yīng)用用程序開發(fā)過過程中的主要要優(yōu)勢。PL/SQL編編輯器具有語語

36、法加強(qiáng)、SSQL和PLL/SQL幫幫助、對象描描述、代碼助助手、編譯器器提示、PLL/SQL完完善、代碼內(nèi)內(nèi)容、代碼分分級、瀏覽器器按鈕、超鏈鏈接導(dǎo)航、宏宏庫等許多智智能特性,能能夠滿足要求求性最高的用用戶需求。PL/SQL DevelloperOracle服服務(wù)Oracle在在windoows中安裝裝完成后,會會安裝很多服服務(wù),下面介介紹幾個主要要的服務(wù)。Oracle服服務(wù)OracleSServicce+服務(wù)名名,該服務(wù)是是數(shù)據(jù)庫啟動動的基礎(chǔ),只只有該服務(wù)啟啟動了,Orracle數(shù)數(shù)據(jù)庫才能正正常啟動。這這是必須啟動動的服務(wù)。OracleOOraDb110g_hoome1TNNSListte

37、ner,該該服務(wù)是服務(wù)務(wù)器端為客戶戶端提供的監(jiān)監(jiān)聽服務(wù),只只有該服務(wù)在在服務(wù)器上正正常啟動,客客戶端才能連連接到服務(wù)器器。該監(jiān)聽服服務(wù)接收客戶戶端發(fā)出的請請求,然后將將請求傳遞給給數(shù)據(jù)庫服務(wù)務(wù)器。一旦建建立了連接,客客戶端和數(shù)據(jù)據(jù)庫服務(wù)器就就能直接通信信了。OracleOOraDb110g_hoome1iSSQL*Pllus,該服服務(wù)提供了用用瀏覽器對數(shù)數(shù)據(jù)庫中數(shù)據(jù)據(jù)操作的方式式。該服務(wù)啟啟動后,就可可以使用瀏覽覽器進(jìn)行遠(yuǎn)程程登錄并進(jìn)行行數(shù)據(jù)庫操作作了。如下圖圖所示:iSQL*PllusOracleDDBConssole+服服務(wù)名,Orracle110g中的一一個新服務(wù)。在Oraccle9i之

38、之前,Oraacle官方方提供了一個個基于圖形界界面的企業(yè)管管理器(EMM),從Orracle110g開始,OOraclee提供了一個個基于B/SS的企業(yè)管理理器,在操作作系統(tǒng)的命令令行中輸入命命令:emcctl sttart ddbconssole,就就可以啟動OOracleeDbConnsole服服務(wù),如下圖圖所示:EM服務(wù)的啟動動服務(wù)啟動之后,就就可以在瀏覽覽器中輸入上上圖中進(jìn)入EEM的地址,使使用B/S方方式管理Orracle服服務(wù)器。Oracle啟啟動和關(guān)閉OracleSServicce啟動動后后,就可以對對數(shù)據(jù)庫進(jìn)行行管理了,OOraclee的啟動和關(guān)關(guān)閉是最基本本的命令,在在SQ

39、L*PPlus中,啟啟動Oraccle必須是是sys用戶戶,命令格式式是:startupp opennOracle服服務(wù)啟動Oracle服服務(wù)關(guān)閉用命命令:shuutdownn immeediateeOracle服服務(wù)關(guān)閉Oracle用用戶和權(quán)限Oracle中中,一般不會會輕易在一個個服務(wù)器上創(chuàng)創(chuàng)建多個數(shù)據(jù)據(jù)庫,在一個個數(shù)據(jù)庫中,不不同的項(xiàng)目由由不同的用戶戶訪問,每一一個用戶擁有有自身創(chuàng)建的的數(shù)據(jù)庫對象象,因此用戶戶的概念在OOraclee中非常重要要。Oraccle的用戶戶可以用CRREATE USER命命令來創(chuàng)建。其語法是:語法結(jié)構(gòu):創(chuàng)建建用戶CREATE USER 用戶名 IIDENTI

40、IFIED BY 口令令 ACCCOUNT LOCK|UNLOCCK語法解析:LOCK|UNNLOCK創(chuàng)創(chuàng)建用戶時是是否鎖定,默默認(rèn)為鎖定狀狀態(tài)。鎖定的的用戶無法正正常的登錄進(jìn)進(jìn)行數(shù)據(jù)庫操操作。代碼演示:創(chuàng)建建用戶SQL CRREATE USER jerryy2 IDENNTIFIEED BY tom3 ACCOOUNT UUNLOCKK;注 意Oracle在在SQL*PPlus中的的命令以分號號(;)結(jié)尾尾,代表命令令完畢并執(zhí)行行,系統(tǒng)同時時會把該命令令保存在緩存存中,緩存中中只保存最近近執(zhí)行過的命命令,如果重重新執(zhí)行緩存存中的命令,直直接使用左斜斜杠符號(/)。如果命命令不以分號號結(jié)尾,該

41、命命令只是寫入入緩存保存起起來,但并不不執(zhí)行。盡管用戶成功創(chuàng)創(chuàng)建,但是還還不能正常的的登錄Oraacle數(shù)據(jù)據(jù)庫系統(tǒng),因因?yàn)樵撚脩暨€還沒有任何權(quán)權(quán)限。如果用用戶能夠正常常登錄,至少少需要CREEATE SSESSIOON系統(tǒng)權(quán)限限。Oracle用用戶對數(shù)據(jù)庫庫管理或?qū)ο笙蟛僮鞯臋?quán)利利,分為系統(tǒng)統(tǒng)權(quán)限和數(shù)據(jù)據(jù)庫對象權(quán)限限。系統(tǒng)權(quán)限限比如:CRREATE SESSIION,CRREATE TABLEE等,擁有系系統(tǒng)權(quán)限的用用戶,允許擁擁有相應(yīng)的系系統(tǒng)操作。數(shù)數(shù)據(jù)庫對象權(quán)權(quán)限,比如對對表中的數(shù)據(jù)據(jù)進(jìn)行增刪改改操作等,擁擁有數(shù)據(jù)庫對對象權(quán)限的用用戶可以對所所擁有的對象象進(jìn)行對應(yīng)的的操作。還有一個概念就

42、就是數(shù)據(jù)庫角角色(rolle),數(shù)據(jù)據(jù)庫角色就是是若干個系統(tǒng)統(tǒng)權(quán)限的集合合。下面介紹紹幾個常用角角色:CONNECTT角色,主要要應(yīng)用在臨時時用戶,特別別是那些不需需要建表的用用戶,通常只只賦予他們CCONNECCTrolee。CONNNECT是使使用Oraccle的簡單單權(quán)限,擁有有CONNEECT角色的的用戶,可以以與服務(wù)器建建立連接會話話(sesssion,客客戶端對服務(wù)務(wù)器連接,稱稱為會話)。RESOURCCE角色,更可靠和正正式的數(shù)據(jù)庫庫用戶可以授授予RESOOURCE role。RESOUURCE提供供給用戶另外外的權(quán)限以創(chuàng)創(chuàng)建他們自己己的表、序列列、過程(pproceddure)

43、、觸發(fā)器(ttriggeer)、索引引(indeex)等。DBA角色,DDBA roole擁有所所有的系統(tǒng)權(quán)權(quán)限包括無限制制的空間限額額和給其他用用戶授予各種種權(quán)限的能力力。用戶SYSTTEM擁有DDBA角色。一般情況下,一一個普通的用用戶(如SCCOTT),擁擁有CONNNECT和RRESOURRCE兩個角角色即可進(jìn)行行常規(guī)的數(shù)據(jù)據(jù)庫開發(fā)工作作。可以把某個權(quán)限限授予某個角角色,可以把把權(quán)限、角色色授予某個用用戶。系統(tǒng)權(quán)權(quán)限只能由DDBA用戶授授權(quán),對象權(quán)權(quán)限由擁有該該對象的用戶戶授權(quán),授權(quán)權(quán)語法是: 語法結(jié)構(gòu):授權(quán)權(quán)GRANT角色色|權(quán)限 TTO 用戶(角角色)代碼演示:授權(quán)權(quán)SQL GRR

44、ANT CCONNECCT TO jerryy;授權(quán)成功。SQL GRRANT RRESOURRCE TOO jerrry;授權(quán)成功。SQL語法結(jié)構(gòu):其他他操作/回收權(quán)限REVOKE 角色|權(quán)限限 FROMM 用戶(角角色)/修改用戶的的密碼ALTER UUSER 用用戶名 IDDENTIFFIED BBY 新密碼碼/修改用戶處處于鎖定(非非鎖定)狀態(tài)態(tài)ALTER UUSER 用用戶名 ACCCOUNTT LOCKK|UNLOOCK本章總結(jié)Oracle是是基于對象的的關(guān)系型數(shù)據(jù)據(jù)庫,Oraacle產(chǎn)品品免費(fèi),服務(wù)務(wù)收費(fèi)。Oracle安安裝后默認(rèn)會會有兩個管理理員用戶(ssystemm,sys)

45、和和一個普通用用戶Scottt。Sql*pluus是Oraacle管理理和數(shù)據(jù)操作作的客戶端工工具??蛻舳诉B接服務(wù)務(wù)器前,服務(wù)務(wù)器要啟動監(jiān)監(jiān)聽服務(wù),并并且客戶端工工具要安裝OOraclee客戶端,并并且在客戶端端要建立本地地網(wǎng)絡(luò)服務(wù)名名。Oracle服服務(wù)和監(jiān)聽啟啟動后才能對對數(shù)據(jù)庫進(jìn)行行操作。用startuup命令啟動動數(shù)據(jù)庫,用用shutddown命令令關(guān)閉數(shù)據(jù)庫庫。Oracle的的角色包括了了一系列系統(tǒng)統(tǒng)權(quán)限和普通通對象權(quán)限,可可以把權(quán)限授授權(quán)給角色,把把權(quán)限或者角角色授權(quán)給用用戶。本章練習(xí)描述Oraclle安裝過程程中的關(guān)鍵點(diǎn)點(diǎn)。描述創(chuàng)建本地網(wǎng)網(wǎng)絡(luò)服務(wù)名的的步驟。描述Oraclle主要

46、服務(wù)務(wù)的作用。Oracle使使用什么命令令才能啟動和和關(guān)閉。什么是Oraccle權(quán)限和和角色?他們們的關(guān)系是什什么?創(chuàng)建一個用戶,并并授權(quán)CONNNECT和和RESOUURCE。章節(jié)知識結(jié)構(gòu)圖圖數(shù)據(jù)查詢和操作作Oracle數(shù)據(jù)類型SQL建表和約束SQL對數(shù)據(jù)增刪改SQL查詢Oracle偽列內(nèi)容提示SQL簡介在第一學(xué)期的SSQL Seerver學(xué)學(xué)習(xí)中,已經(jīng)經(jīng)知道,SQQL是結(jié)構(gòu)化化查詢語言(SStructtured Queryy Langguage),專專門用于數(shù)據(jù)據(jù)存取、數(shù)據(jù)據(jù)更新及數(shù)據(jù)據(jù)庫管理等操操作。并且已已經(jīng)學(xué)習(xí)了用用SQL語句句對數(shù)據(jù)庫的的表進(jìn)行增刪刪改查的操作作。在Oraclee開

47、發(fā)中,客客戶端把SQQL語句發(fā)送送給服務(wù)器,服服務(wù)器對SQQL語句進(jìn)行行編譯、執(zhí)行行,把執(zhí)行的的結(jié)果返回給給客戶端。OOraclee SQL語語句由如下命命令組成:數(shù)據(jù)定義語言(DDL),包括CREATE(創(chuàng)建)命令、ALTER(修改)命令、DROP(刪除)命令等。數(shù)據(jù)操縱語言(DML),包括INSERT(插入)命令、UPDATE(更新)命令、DELETE(刪除)命令、SELECT FOR UPDATE(查詢)等。數(shù)據(jù)查詢語言(DQL),包括基本查詢語句、Order By子句、Group By子句等。事務(wù)控制語言(TCL),包括COMMIT(提交)命令、SAVEPOINT(保存點(diǎn))命令、ROL

48、LBACK(回滾)命令。數(shù)據(jù)控制語言(DCL),GRANT(授權(quán))命令、REVOKE(撤銷)命令。目前主流的數(shù)據(jù)據(jù)庫產(chǎn)品(比比如:SQLL Servver、Orracle)都都支持標(biāo)準(zhǔn)的的SQL語句句。數(shù)據(jù)定義義語言,表的的增刪改操作作,數(shù)據(jù)的簡簡單查詢,事事務(wù)的提交和和回滾,權(quán)限限的授權(quán)和撤撤銷等,Orracle與與SQL SServerr在操作上基基本一致。Oracle數(shù)數(shù)據(jù)類型Oracle數(shù)數(shù)據(jù)庫的核心心是表,表中中的列使用到到的常見數(shù)據(jù)據(jù)類型如下:類型含義CHAR(leength)存儲固定長度的的字符串。參參數(shù)lenggth指定了了長度,如果果存儲的字符符串長度小于于lengtth,用

49、空格格填充。默認(rèn)認(rèn)長度是1,最最長不超過22000字節(jié)節(jié)。VARCHARR2(lenngth)存儲可變長度的的字符串。llengthh指定了該字字符串的最大大長度。默認(rèn)認(rèn)長度是1,最最長不超過44000字符符。NUMBER(p,s)既可以存儲浮點(diǎn)點(diǎn)數(shù),也可以以存儲整數(shù),pp表示數(shù)字的的最大位數(shù)(如如果是小數(shù)包包括整數(shù)部分分和小數(shù)部分分和小數(shù)點(diǎn),pp默認(rèn)是388位),s是是指小數(shù)位數(shù)數(shù)。DATE存儲日期和時間間,存儲紀(jì)元元、4位年、月、日、時時、分、秒,存存儲時間從公公元前47112年1月11日到公元后后4712年年12月311日。TIMESTAAMP不但存儲日期的的年月日,時時分秒,以及及秒后

50、6位,同同時包含時區(qū)區(qū)。CLOB存儲大的文本,比比如存儲非結(jié)結(jié)構(gòu)化的XMML文檔BLOB存儲二進(jìn)制對象象,如圖形、視頻、聲音音等。Oracle的的部分?jǐn)?shù)據(jù)類類型對應(yīng)NUMBEER類型的示示例:格式輸入的數(shù)字實(shí)際的存儲NUMBER1234.56671234.5667NUMBER(66,2)123.45667123.46NUMBER(44,2)12345.667輸入的數(shù)字超過過了所指定的的精度,數(shù)據(jù)據(jù)庫不能存儲儲Number示示例對于日期類型,可可以使用syysdatee內(nèi)置函數(shù)可可以獲取當(dāng)前前的系統(tǒng)日期期和時間,返返回DATEE類型,用ssystimmestammp函數(shù)可以以返回當(dāng)前日日期、時間

51、和和時區(qū)。sysdatee和sysTTimesttampOracle的的查詢中,必必須使用“selecct 列 fromm 表”的完整語法法,當(dāng)查詢單單行函數(shù)的時時候,froom后面使用用DUAL表表,duall表在系統(tǒng)中中只有一行一一列,該表在在輸出單行函函數(shù)時為了sselecttfrom的的語法完整性性而使用。創(chuàng)建表和約束Oracle創(chuàng)創(chuàng)建表同SQQL Serrver一樣樣,使用CRREATE TABLEE命令來完成成。創(chuàng)建約束束則使用如下下命令:語法格式:ALLTER TTABLE命命令A(yù)LTER TTABLE 表名 ADDD CONNSTRAIINT 約束束名 約束內(nèi)內(nèi)容。不論創(chuàng)建表還

52、是是約束,與SSQL Seerver基基本相同,注注意:在Orracle中中defauult是一個個值,而SQQL Serrver中ddefaullt是一個約約束,因此OOraclee的defaault設(shè)置置可以在建表表的時候創(chuàng)建建。案例1:創(chuàng)建一一個學(xué)生信息息(INFOOS)表和約約束代碼演示:Orracle創(chuàng)創(chuàng)建表和約束束CREATE TABLEE INFOOS( STUIDD VARCCHAR2(7) NOOT NULLL, -學(xué)號號 學(xué)號=S+班號號+2位序號號 STUNAAME VAARCHARR2(10) NOT NULL, -姓姓名 GENDEER VARRCHAR22(2) N

53、NOT NUULL, -性性別 AGE NNUMBERR(2) NNOT NUULL, -年齡齡 SEAT NUMBEER(2) NOT NNULL, -座座號ENROLLDDATE DDATE, -入學(xué)時時間 STUADDDRESSS VARCCHAR2(50) DDEFAULLT 地址址不詳, -住址 CLASSSNO VAARCHARR2(4) NOT NNULL -班班號 班號=學(xué)期序號+班級序號 )/ ALTER TTABLE INFOSS ADD CONSTTRAINTT PK_IINFOS PRIMAARY KEEY(STUUID)/ALTER TTABLE INFOSS ADD

54、 CONSTTRAINTT CK_IINFOS_GENDEER CHECK(GGENDERR = 男男 OR GENDEER = 女) /ALTER TTABLE INFOSS ADD CONSTTRAINTT CK_IINFOS_SEAT CHECK(SSEAT =0 ANND SEAAT =0 ANDD AGE=10011 ANDD CLASSSNO=2001 AND CLASSSNO CRREATE TABLEE INFOOS1 AS SSELECTT * FRROM INNFOS; TABLE CCREATEED使用上面命令創(chuàng)創(chuàng)建的新表中中,不存在任任何約束,并并且把查詢的的數(shù)據(jù)一起插

55、插入到新表中中。如果只復(fù)復(fù)制表結(jié)構(gòu),只只需使查詢的的條件不成立立(比如whhere 11=2),就就不會查詢從從出任何數(shù)據(jù)據(jù),從而復(fù)制制一個表結(jié)構(gòu)構(gòu)。代碼演示:復(fù)制制表結(jié)構(gòu)SQL CRREATE TABLEE INFOOS2 AS SSELECTT * FRROM INNFOS WWHERE 1=2; TABLE CCREATEED數(shù)據(jù)插入用INSERTT命令完成對對數(shù)據(jù)的插入入。語法結(jié)構(gòu):根據(jù)據(jù)結(jié)果集創(chuàng)建建表INSERT INTO 表名(列名名1,列名22) VAALUES (值1,值值2)語法解析:列名可以省略。當(dāng)省略列名名時,默認(rèn)是是表中的所有有列名,列名名順序?yàn)楸矶ǘx中列的先先后順序

56、。值的數(shù)量和順序序要與列名的的數(shù)量和順序序一致。值的的類型與列名名的類型一致致。代碼演示:向IINFOS表表和SCORRES表中插插入數(shù)據(jù)SQL INNSERTIINTOINNFOSVAALUES ( 2 ss, 林林沖, 男, 222, 2,3TO_DATTE(20009-8-9 06:30:100, YYYYY-MMM-DD HH24:MI:SSS ),4 西安, 10001 5 ) 6 /1 row iinserttedSQL INNSERTIINTOINNFOSVAALUES(s,阮小小二,男男,26,3,SYSSDATE,defauult,11001); 1 row inserrte

57、dSQLCOMMMIT; 代碼解析:表名后面面缺省了列名名,默認(rèn)是表表Infoss中的所有列列名,vallues中的的值要與表中中列一一對應(yīng)應(yīng),包括順序序和數(shù)據(jù)類型型的對應(yīng)。在在SQL*PPlus中一一條語句可以以寫在多行,那那么從第二行行開始,sqqlpluss會為每一行行前面給出行行號。在Oraacle中,日日期是國際化化的,不同的的區(qū)域安裝的的數(shù)據(jù)庫,默默認(rèn)的日期格格式不同,因因此為了程序序便于移植,日日期的輸入要要使用TO_DATE函函數(shù)對日期格格式化后輸入入,采用格式式化字符串對對日期進(jìn)行格格式化時,格格式化字符串串中字符不區(qū)區(qū)分大小寫,常常見的格式化化字符如下:yyyy表示四四位年

58、份mm表示兩位月月份,比如33月表示為003dd表示兩位日日期hh24表示小小時從0-223,hh112也表示小小時從0-111。mi 表示分鐘鐘ss表示秒在遇到存存在默認(rèn)值的的列時,可以以使用deffault值值代替。commmit是把用用戶操作(添添加、刪除、修改操作)提提交,只有提提交操作后,數(shù)數(shù)據(jù)才能真正正更新到表中中,否則其他他用戶無法查查詢到當(dāng)前用用戶操作的結(jié)結(jié)果。在Oraclee中,一個IINSERTT命令可以把把一個結(jié)果集集一次性插入入到一張表中中。使用的語語句是:INNSERT INTO 表 SELLECT子句句,如下示例例:代碼演示:INNSERT向向表中插入一一個結(jié)果集S

59、QL INNSERT INTO INFOSS2 SELEECT * FROM INFOSS; 5 rows inserrted在這種語法下,要要求結(jié)果集中中每一列的數(shù)數(shù)據(jù)類型必須須與表中的每每一列的數(shù)據(jù)據(jù)類型一致,結(jié)結(jié)果集中的列列的數(shù)量與表表中的列的數(shù)數(shù)量一致。比比如表INFFOS2,該該表的結(jié)構(gòu)與與INFO表表一樣,那么么可以把INNFO表中的的所有記錄一一次性插入到到INFOSS2表中。Oracle的的簡單查詢和和SQL SServerr一樣都可以以在查詢列中中使用常量,如如圖: Select中中的常量可以使用剛才的的做法,把該該結(jié)果集中的的數(shù)據(jù)插入到到表INFOOS中。代碼演示:INNS

60、ERT向向表中插入一一個常量結(jié)果果集SQL INNSERT INTO INFOSSSELECT s,盧俊義,男,223,5,TO_DATEE(20009-8-99 08:000:10,YYYYY-MM-DD HHH24:MII:SS), 青青龍寺,1001 FROM DUUAL; 1 rows inserrted SQLCOMMMIT;更新數(shù)據(jù)Oracle在在表中更新數(shù)數(shù)據(jù)的語法是是:語法結(jié)構(gòu):UPPDATE操操作UPDATE 表名 SEET 列名11=值,列名名2=值 WHERRE 條件代碼演示:UPPDATE操操作SQL UPPDATE INFOSS SET CLASSSNO=11002,

溫馨提示

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

評論

0/150

提交評論