MLDN-魔樂(lè)科技李興華Oracle教程學(xué)習(xí)筆記_第1頁(yè)
MLDN-魔樂(lè)科技李興華Oracle教程學(xué)習(xí)筆記_第2頁(yè)
MLDN-魔樂(lè)科技李興華Oracle教程學(xué)習(xí)筆記_第3頁(yè)
MLDN-魔樂(lè)科技李興華Oracle教程學(xué)習(xí)筆記_第4頁(yè)
MLDN-魔樂(lè)科技李興華Oracle教程學(xué)習(xí)筆記_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、NO.數(shù)據(jù)類(lèi)型關(guān)鍵字描述1字符串Varcharr2(n)N表示該字符串串所能儲(chǔ)存的的最大長(zhǎng)度;2整數(shù)Number(nn)表示最多為n位位的整數(shù),有有時(shí)候也可以以用int代代替;3小數(shù)Number(nn,m)N為小數(shù),n-m為整數(shù)位位,有時(shí)也可可以使用flloat代替替;4日期Date存放日期和時(shí)間間5大文本Clob可以存儲(chǔ)海量文文字,最大44G;6大對(duì)象Blob存放二進(jìn)制數(shù)據(jù)據(jù),例如電影影圖片等;Oracle的數(shù)據(jù)類(lèi)型:加粗字體(ctrl+B)使用ctrl+/可以快速的彈出一個(gè)虛擬符號(hào)鍵盤(pán):(alt + 99999)如果只想復(fù)制表表的結(jié)構(gòu)到另另一張表,而而不復(fù)制任何何的數(shù)據(jù),則則可以使用一一個(gè)

2、永遠(yuǎn)查詢(xún)?cè)儾坏浇Y(jié)果的的查詢(xún)來(lái)執(zhí)行行;Create tablee empnnull aas sellect * fromm emp wheree 1=2;為表重命名:在oraclee數(shù)據(jù)庫(kù)中,所所有的數(shù)據(jù)實(shí)實(shí)際上都是通通過(guò)數(shù)據(jù)字典典保存的,例例如:sellect * fromm tab;以上就是一個(gè)數(shù)數(shù)據(jù)字典,而而在oraccle數(shù)據(jù)庫(kù)庫(kù)中,提供了了三種類(lèi)型的的數(shù)據(jù)字典,最最常用的是ddbo、usser、所以以下面查詢(xún)一一個(gè)userr_tablles數(shù)據(jù)字典;Select * froom useer_tabbles;也就是說(shuō)oraacle中的的所有數(shù)據(jù)都都是按照文件件保存的,那那么所有的內(nèi)內(nèi)容都

3、會(huì)在數(shù)數(shù)據(jù)字典中注注冊(cè),既然這這樣,修改表表名稱(chēng)就相當(dāng)當(dāng)于修改一條條數(shù)據(jù)而已:Rename 舊的表名稱(chēng)稱(chēng) to 新新的表名稱(chēng);如果希望徹底釋釋放掉一張表表所占用的全全部資源(表表空間、索引引等等)就可可以使用截?cái)鄶啾淼恼Z(yǔ)法,語(yǔ)語(yǔ)法如下:Truncatte tabble 表名名稱(chēng);在oraclee10G中,為為了防止用戶(hù)戶(hù)的誤刪除表表的操作,專(zhuān)專(zhuān)門(mén)提供了回回收站的功能能,用戶(hù)所刪刪除的表默認(rèn)認(rèn)情況下回在在一個(gè)回收站站之中保存,而而用戶(hù)也可以以通過(guò)回收站站進(jìn)行表的恢恢復(fù),所以此此技術(shù)成為閃閃回(flaashbacck);可以通過(guò)如下名名稱(chēng)查看回收收站中的表:Show REECYCLEEBIN;OR

4、IGINAAL NAMME REECYCLEEBIN NNAME OBBJECT TYPE DROOP TIMME- - - -MEMBER BINN$r34NNm9OVRRxqjy88Jwh1KKWJw=$0 TAABLE 20122-01-225:10:28:511可以通過(guò)如下的的命令恢復(fù)別別刪除的表:FLASHBAACK TAABLE 表表名稱(chēng) TOO BEFOORE DRROP;例如恢復(fù)上面的的membeer表:Flashbaack taable mmemberr TO beefore drop;當(dāng)然呢,也可以以直接刪除掉掉回收站中的的而一些數(shù)據(jù)據(jù)表,語(yǔ)法如如下:Purage tabl

5、ee 表名稱(chēng);比如刪除回收站站中的memmber表:Purge ttable membeer;SQL puurge ttable membeer;表已清除。也可以清空回收收站;PURGE RRECYCLLEBIN;如果希望刪除的的時(shí)候不進(jìn)入入回收站,則則可以加一個(gè)個(gè)purgee關(guān)鍵字;Drop taable mmyemp purgee;表結(jié)構(gòu)的修改:添加列:Altter taable aadd(列11 類(lèi)型)等等和創(chuàng)建類(lèi)似似;如果希望修改已已經(jīng)存在的列列:Alter ttable modiffy ();和創(chuàng)建表類(lèi)類(lèi)似;但是表結(jié)構(gòu)能不不修改就不修修改,因?yàn)槭朗澜缟闲阅茏钭詈玫腄B22是不允許修修

6、改表結(jié)構(gòu)的的;如果遇到到要修改表結(jié)結(jié)構(gòu)的時(shí)候,把把表刪除,然然后重新建立立;唯一約束: UUNIQUEEUnique對(duì)對(duì)于插入多行行為nulll的值的處理理理解為不重重復(fù),因?yàn)檫@這里不知道它它的具體值;主鍵約束:PRRIMARYY KEY;主鍵約束=非空空約束+唯一一約束;設(shè)置為主鍵之后后,不允許為為空,而且不不允許重復(fù);作為數(shù)據(jù)的的唯一標(biāo)記出出現(xiàn);從正常的開(kāi)發(fā)而而言,一張表表一般只設(shè)置置一個(gè)主鍵,但但是從SQLL語(yǔ)法來(lái)看,一一張表可以設(shè)設(shè)置多個(gè)主鍵鍵,稱(chēng)為復(fù)合合主鍵:Create tablee membber(Mid nuumber,Name vvarchaar2(500) nott nul

7、ll,Constrraint pk_miid_namme priimary key(mmid,naame);檢查約束:CheckCreate tablee membber(Mid nuumber,Name vvarchaar2(500) nott nulll,Sex varrchar22(10) not nnull,Age nummber(33) ,Constraaint ppk_midd_namee primmary kkey(miid),Constraaint cck_sexx checck (seex in(男,女,中),Constraaint cck_agee checck (agge

8、 bettween 0 andd 200);Drop taable mmemberr;Drop taable bbook;Create tablee membber(mid nnumberr,name vvarchaar2(500) nott nulll,Constraaint ppl_midd primmary kkey(miid);Create tablee bookk(bid nuumber,title varchhar2(550) noot nulll,mid nuumber,Constraaint ppk_bidd primmary kkey(biid),Constraaint ff

9、k_midd foreeign kkey(miid) reeferennces mmemberr(mid);筆記1部分:1、使用hosst 可以引引用winddows系統(tǒng)統(tǒng)的copyy命令等:Host coopy d:demoo.sql d:heello.ttxt2、scottt用戶(hù)的表結(jié)結(jié)構(gòu):可以使用以下命命令查看所有有表:Select * frrom taab;可以使用以下命命令查看表結(jié)結(jié)構(gòu):Desc 表名名稱(chēng);雇員表(以下)No.名稱(chēng)類(lèi)型描述1EMPNONUMBER(4)雇員的編號(hào),由由四位數(shù)字組組成2ENAMEVARCHARR2(10)雇員的姓名,由由十位字符組組成3JOBVARCHA

10、RR2(9)雇員的職位4MGRNUMBER(4)雇員對(duì)應(yīng)的領(lǐng)導(dǎo)導(dǎo)編號(hào),領(lǐng)導(dǎo)導(dǎo)也是雇員5HIREDATTEDATE雇員的雇傭日期期6SALNUMBER(7,2)基本工資,其中中兩位小數(shù),五五位整數(shù)7COMMNUMBER(7,2)獎(jiǎng)金,傭金(銷(xiāo)銷(xiāo)售人員獨(dú)有有的)8DEPTNONUMBER(2)雇員所在的部門(mén)門(mén)編號(hào)以下表存放工資資數(shù)據(jù),基本本上用不到;工資登記表:NO.名稱(chēng)類(lèi)型描述1GRADENUMBER工資的等級(jí)2LOSALNUMBER此登記的最低工工資3HISALNUMBER此等級(jí)的最高工工資SQL seelect 雇員編號(hào)號(hào)是:|empnoo|的雇雇員姓名是:|enname|,基本工工資是:|

11、sal|,職位位是|jjob|!雇員信信息 froom empp;雇員信息-雇員編號(hào)是:77369的雇雇員姓名是:SMITHH,基本工資資是:8000,職位是CCLERK!雇員編號(hào)是:77499的雇雇員姓名是:ALLENN,基本工資資是:16000,職位是是SALESSMAN!雇員編號(hào)是:77521的雇雇員姓名是:WARD,基本工資是是:12500,職位是SSALESMMAN!雇員編號(hào)是:77566的雇雇員姓名是:JONESS,基本工資資是:29775,職位是是MANAGGER!雇員編號(hào)是:77654的雇雇員姓名是:MARTIIN,基本工工資是:12250,職位位是SALEESMAN!雇員編號(hào)

12、是:77698的雇雇員姓名是:BLAKEE,基本工資資是:28550,職位是是MANAGGER!雇員編號(hào)是:77782的雇雇員姓名是:CLARKK,基本工資資是:24550,職位是是MANAGGER!雇員編號(hào)是:77788的雇雇員姓名是:SCOTTT,基本工資資是:30000,職位是是ANALYYST!雇員編號(hào)是:77839的雇雇員姓名是:KING,基本工資是是:50000,職位是PPRESIDDENT!雇員編號(hào)是:77844的雇雇員姓名是:TURNEER,基本工工資是:15500,職位位是SALEESMAN!雇員編號(hào)是:77876的雇雇員姓名是:ADAMSS,基本工資資是:11000,職位是

13、是CLERKK!在oraclee中所有的數(shù)數(shù)據(jù)都是區(qū)分分大小寫(xiě)的;大小寫(xiě)錯(cuò)誤誤可能查詢(xún)不不出相應(yīng)的數(shù)數(shù)據(jù);以下三個(gè)查詢(xún)語(yǔ)語(yǔ)句的結(jié)構(gòu)是是相同的:Select * froom empp wherre jobb!=CLERKK;Select * froom empp wherre jobbCLERKK;Select * froom empp wherre nott job=CLERKK -這這三種語(yǔ)法都都可以在SQQL Serrver中使使用;對(duì)betweeen andd 求反:Select * froom empp wherre nott sal betweeen 15500 annd 30000

14、Betweenn and 不只是對(duì)數(shù)數(shù)據(jù),對(duì)日期期也一樣進(jìn)行行操作;Select * froom empp wherre hirredatee betwween 01-1月月-19811 and 31-122月-81Set linnesizee 300;Set paggesizee 200;對(duì)于like操操作符,不止止可以用于字字符串型的數(shù)數(shù)據(jù),而且可可以用于其他他類(lèi)型的數(shù)據(jù)據(jù);Order bby子句是寫(xiě)寫(xiě)在所有語(yǔ)句句最后的子句句;INITCAPP函數(shù),將字字符串首字母母變?yōu)榇髮?xiě);而所有剩余余的字母會(huì)變變成小寫(xiě);Oracle數(shù)數(shù)據(jù)庫(kù)中為了了查詢(xún)的方便便,專(zhuān)門(mén)提供供了一個(gè)duual的虛擬擬表,這

15、樣ffrom后邊邊便可以跟這這個(gè)表名進(jìn)行行查詢(xún);Select * froom empp wherre enaame=UPPPER(&hh);中的單單引號(hào)中間的的字符表示一一個(gè)變量,下下一步系統(tǒng)會(huì)會(huì)讓用戶(hù)輸入入該變量的值值,然后系統(tǒng)統(tǒng)進(jìn)行查詢(xún):結(jié)果圖如下下:SQL seelect * froom empp wherre enaame=uppper(&hh);輸入 hh 的的值: ssmith原值 11: sellect * fromm emp wheree enamme=uppper(&hh)新值 11: sellect * fromm emp wheree enamme=uppper(ssmi

16、th)EMPNO EENAME JOB MGR HHIREDAATE SALL COMMM DEPTTNO- - - - - - - -7369 SSMITH CLERKK 79002 17-12月-880 800 20字符串操作有兩兩種方式:語(yǔ)法一:subbstr(字字符串,開(kāi)始始點(diǎn))表示截截取該字符串串從開(kāi)始點(diǎn)一一直到結(jié)尾的的部分;語(yǔ)法二:subbstr(字字符串,開(kāi)始始點(diǎn),結(jié)束點(diǎn)點(diǎn))截取字符串倒數(shù)數(shù)三個(gè)字符:除了可以用leength(字字符串)-22以外,還可可以使用負(fù)數(shù)數(shù)表示:SQL seelect substtr(enaame,-33) froom empp;SUBSTR-ITHLE

17、NARDNESTINAKEARKOTTINGNERAMS面試題:請(qǐng)問(wèn)ssubstrr截取的時(shí)候候下標(biāo)是從00還是從1開(kāi)開(kāi)始?答:從0和1都都一樣;數(shù)字函數(shù):Round(數(shù)數(shù)字|列,保保留小數(shù)的位位數(shù)),表示示四舍五入的的操作;保留留小數(shù)位數(shù)如如果不寫(xiě),則則表示不保留留小數(shù);Trunc(數(shù)數(shù)字|列,保保留小數(shù)的位位數(shù)),舍棄棄指定位置的的內(nèi)容;Mod(數(shù)字11,數(shù)字2)取取模,取余數(shù)數(shù);SQL seelect roundd(903.535677),rouund(-9903.533567),roundd(903.535677,-1) from dual;ROUND(9903.533567) ROU

18、NDD(-9033.535667) ROOUND(9903.533567,-1)- - - 904 -9904 9900SQL seelect truncc(903.5325),trunnc(-9003.53667),trrunc(9903.533567,22),truunc(9003.535567,-11) froom duaal;TRUNC(9903.53325) TTRUNC(-903.5367) TRUNNC(9033.535667,2) TRUNCC(903.535677,-1)- - - - 903 -9033 9003.53 900可以使用syssdate來(lái)來(lái)取得當(dāng)前日日期的值;

19、Oracle 函數(shù)大全(字符串函數(shù)數(shù),數(shù)學(xué)函數(shù)數(shù),日期函數(shù)數(shù),邏輯運(yùn)算算函數(shù),其他他函數(shù))關(guān)鍵詞: HYPERLINK /tag/Oracle%BA%AF%CA%FD Orracle函函數(shù) HYPERLINK /tag/%D7%D6%B7%FB%B4%AE%BA%AF%CA%FD 字符串函數(shù)數(shù) HYPERLINK /tag/%CA%FD%D1%A7%BA%AF%CA%FD 數(shù)學(xué)學(xué)函數(shù) HYPERLINK /tag/%C8%D5%C6%DA%BA%AF%CA%FD 日期函數(shù)數(shù) HYPERLINK /tag/%C2%DF%BC%AD%D4%CB%CB%E3%BA%AF%CA%FD 邏輯輯運(yùn)算函數(shù)

20、SQL中的單記記錄函數(shù) 11.ASCIII 返回與與指定的字符符對(duì)應(yīng)的十進(jìn)進(jìn)制數(shù); SSQL sselectt asciii(A) A,aascii(a) a,asccii(00) zeero,asscii( ) sspace from dual; A A ZERO SPACEE - - - - 65 997 48 32 2.CHR 給給出整數(shù),返返回對(duì)應(yīng)的字字符; SQQL seelect chr(554740) zhaoo,chr(65) cchr65 from dual; ZH CC - - 趙 A 3.CONNCAT 連連接兩個(gè)字符符串; SQQL seelect concaat(01

21、10-,888888888)|轉(zhuǎn)223 高乾乾競(jìng)電話 ffrom ddual; 高乾競(jìng)電話話 - 0110-8888888888轉(zhuǎn)23 44.INITTCAP 返返回字符串并并將字符串的的第一個(gè)字母母變?yōu)榇髮?xiě); SQL seleect innitcapp(smiith) upp ffrom ddual; UPP - SSmith 5.INSTRR(C1,CC2,I,JJ) 在一個(gè)個(gè)字符串中搜搜索指定的字字符,返回發(fā)發(fā)現(xiàn)指定的字字符的位置; C1 被被搜索的字符符串 C2 希望搜索的的字符串 II 搜索的開(kāi)開(kāi)始位置,默默認(rèn)為1 JJ 出現(xiàn)的位位置,默認(rèn)為為1 SQLL sellect iinst

22、r(oraccle trraningg,raa,1,22) insstringg fromm duall; INSSTRINGG - 9 6.LENGTTH 返回字字符串的長(zhǎng)度度; SQLL sellect nname,llengthh(namee),adddr,lenngth(aaddr),sal,llengthh(to_cchar(ssal) from gao.nnchar_tst; NAME LENGTTH(NAMME) ADDDR LEENGTH(ADDR) SAL LENGTTH(TO_CHAR(SAL) - - - - - - 高乾競(jìng)競(jìng) 3 北京京市海錠區(qū) 6 99999.99 7

23、 7.LOWERR 返回字符符串,并將所所有的字符小小寫(xiě) SQLL sellect llower(AaBbbCcDd)AaBbbCcDd from dual; AABBBCCDD - aaabbcccdd 8.UPPERR 返回字符符串,并將所所有的字符大大寫(xiě) SQLL sellect uupper(AaBbbCcDd) uppper frrom duual; UUPPER - AAABBCCCDD 9.RPAD和和LPAD(粘貼字符) RPADD 在列的右右邊粘貼字符符 LPADD 在列的左左邊粘貼字符符 SQL seleect lppad(rppad(ggao,110,*),17,*)ff

24、rom ddual; LPAD(RPAD(GAO,1 - *gaao* 不不夠字符則用用*來(lái)填滿 10.LTRIIM和RTRRIM LTTRIM 刪刪除左邊出現(xiàn)現(xiàn)的字符串 RTRIMM 刪除右邊邊出現(xiàn)的字符符串 SQLL sellect lltrim(rtrimm( gaao qiaan jinng , ), ) ffrom ddual; LTRIM(RTRIMM( - gaoo qiann jingg 11.SUBSSTR(sttring,startt,counnt) 取子子字符串,從從startt開(kāi)始,取ccount個(gè)個(gè) SQL seleect suubstr(1308888888888,

25、33,8) ffrom ddual; SUBSTTR( - 0888888888 12.REPLLACE(strinng,ss1,s2) striing 希望望被替換的字字符或變量 s1 被替替換的字符串串 s2 要要替換的字符符串 SQLL sellect rreplacce(hee lovee you,he,i) fromm duall; REPPLACE(H - ii lovee you 13.SOUNNDEX 返返回一個(gè)與給給定的字符串串讀音相同的的字符串 SSQL ccreatee tablle tabble1(xxm varrchar(8); SQL inserrt intto t

26、abble1 vvaluess(weaather); SQQL innsert into tablee1 vallues(wetheer); SQL inserrt intto tabble1 vvaluess(gaoo); SSQL sselectt xm ffrom ttable11 wherre souundex(xm)=ssoundeex(weeatherr); XXM - weatther wwetherr 14.TRIMM(s from striing) LEADIING 剪掉掉前面的字符符 TRAIILING 剪掉后面的的字符 如果果不指定,默默認(rèn)為空格符符 15.AABS 返回

27、回指定值的絕絕對(duì)值 SQQL seelect abs(1100),aabs(-1100) ffrom ddual; ABS(1100) AABS(-1100) - - 1100 1000 16.ACOSS 給出反余余弦的值 SSQL sselectt acoss(-1) from dual; ACOSS(-1) - 3.14115927 17.ASINN 給出反正正弦的值 SSQL sselectt asinn(0.5) fromm duall; ASIIN(0.55) - .5223598778 18.ATANN 返回一個(gè)個(gè)數(shù)字的反正正切值 SQL sselectt atann(1) ffr

28、om ddual; ATAN(1) - .7785398816 19.CEILL 返回大于于或等于給出出數(shù)字的最小小整數(shù) SQQL seelect ceil(3.14115927) fromm duall; CEIIL(3.114159227) - 44 20.COS 返回一個(gè)給給定數(shù)字的余余弦 SQLL sellect ccos(-33.14155927) from dual; COS(-3.144159277) - -1121.COOSH 返回回一個(gè)數(shù)字反反余弦值 SSQL sselectt coshh(20) from dual; COSHH(20) - 2425882598 22.EX

29、P 返回一個(gè)數(shù)數(shù)字e的n次次方根 SQQL seelect exp(22),expp(1) ffrom ddual; EXP(22) EXPP(1) - - 77.38900561 22.71822818 23.FLOOOR 對(duì)給定定的數(shù)字取整整數(shù) SQLL sellect ffloor(2345.67) ffrom ddual; FLOORR(23455.67) - 2345 24.LN 返返回一個(gè)數(shù)字字的對(duì)數(shù)值 SQL selecct ln(1),lnn(2),lln(2.771828118) frrom duual; LLN(1) LN(2) LN(22.71822818) - - -

30、00 .6933147188 .9999999999 25.LOG(n1,n22) 返回一一個(gè)以n1為為底n2的對(duì)對(duì)數(shù) SQLL sellect llog(2,1),loog(2,44) froom duaal; LOOG(2,11) LOGG(2,4) - - 0 2 26.MOD(n1,n22) 返回一一個(gè)n1除以以n2的余數(shù)數(shù) SQL seleect mood(10,3),mood(3,33),modd(2,3) fromm duall; MODD(10,33) MODD(3,3) MOD(2,3) - - - 1 0 22 27.POWEER 返回nn1的n2次次方根 SQQL see

31、lect powerr(2,100),powwer(3,3) frrom duual; PPOWER(2,10) POWEER(3,33) - - 1024 27 28.ROUNND和TRUUNC 按照照指定的精度度進(jìn)行舍入 SQL selecct rouund(555.5),rround(-55.44),truunc(555.5),ttrunc(-55.55) froom duaal; ROOUND(555.5) ROUNDD(-55.4) TRRUNC(555.5) TRUNCC(-55.5) - - - - 566 -55 55 -555 29.SIGNN 取數(shù)字nn的符號(hào),大大于0返回

32、11,小于0返返回-1,等等于0返回00 SQL seleect siign(1223),siign(-1100),ssign(00) froom duaal; SIIGN(1223) SIIGN(-1100) SSIGN(00) - - - 1 -1 0 30.SIN 返回一個(gè)數(shù)數(shù)字的正弦值值 SQL seleect siin(1.557079) fromm duall; SINN(1.577079) - 1 31.SIGHH 返回雙曲曲正弦的值 SQL selecct sinn(20),sinh(20) ffrom ddual; SIN(220) SIINH(200) - - .91129

33、45225 24225825998 32.SQRTT 返回?cái)?shù)字字n的根 SSQL sselectt sqrtt(64),sqrt(10) ffrom ddual; SQRT(64) SSQRT(110) - - 8 3.16222777 33.TAN 返回?cái)?shù)字的的正切值 SSQL sselectt tan(20),ttan(100) froom duaal; TAAN(20) TAN(10) - - 22.23711609 .648366083 34.TANHH 返回?cái)?shù)字字n的雙曲正正切值 SQQL seelect tanh(20),ttan(200) froom duaal; TAANH(2

34、00) TANN(20) - - 1 2.223716009 35.TRUNNC 按照指指定的精度截截取一個(gè)數(shù) SQL selecct truunc(1224.16666,-2) trunnc1,trrunc(1124.166666,22) froom duaal; TRRUNC1 TRUNCC(124.166666,2) - - 1000 1244.16 36.ADD_MONTHHS 增加或或減去月份 SQL selecct to_char(add_mmonthss(to_ddate(1999112,yyyyymmm),2),yyyyymm) fromm duall; TO_CHA - 20

35、00002 SQQL seelect to_chhar(addd_monnths(tto_datte(1999912,yyyyymm),-2),yyyyymm) from dual; TO_CCHA - 1999110 37.LASTT_DAY 返回日期的的最后一天 SQL selecct to_char(sysdaate,yyyyy.mmm.dd),to_char(sysddate)+1,yyyyy.mmm.dd) fromm duall; TO_CHAR(SY TOO_CHARR(S - - 20044.05.009 20004.05.10 SQQL seelect last_day(ss

36、ysdatte) frrom duual; LLAST_DDAY(S - 31-55月 -044 38.MONTTHS_BEETWEENN(datee2,datte1) 給給出datee2-datte1的月份份 SQL seleect moonths_betweeen(119-12月月-19999,199-3月-11999) mon_betweeen frrom duual; MMON_BEETWEENN - 9 SQLsselecttmonthhs_bettween(to_daate(22000.005.20,yyyyy.mm.dd),to_daate(22005.005.20,yyyyy.

37、mm.dd) mon_betw from dual; MON_BETW - -60 39.NEW_TIME(date,thiss,thhat) 給出在thhis時(shí)區(qū)=otherr時(shí)區(qū)的日期期和時(shí)間 SSQL sselectt to_cchar(ssysdatte,yyyyy.mmm.dd hhh24:mmi:ss) bj_time,to_chhar(neew_timme 2 (sysdaate,PPDT,GMT),yyyyy.mm.dd hhh24:mii:ss) los_anglees froom duaal; BJJ_TIMEE LOS_ANGLEES - - 20004.05.09 11

38、1:05:332 20004.05.09 188:05:332 40.NEXTT_DAY(date,day) 給出日日期datee和星期x之之后計(jì)算下一一個(gè)星期的日日期 SQLL sellect nnext_dday(118-5月-2001,星期五五) neext_daay froom duaal; NEEXT_DAAY - 255-5月 -0141.SYSDAATE 用來(lái)來(lái)得到系統(tǒng)的的當(dāng)前日期 SQL selecct to_char(sysdaate,ddd-mm-yyyy day) fromm duall; TO_CHAR(SYSDAATE, - 099-05-22004 星星期日 trr

39、unc(ddate,ffmt)按照照給出的要求求將日期截?cái)鄶?如果fmmt=mii表示保留留分,截?cái)嗝朊?SQL seleect too_charr(trunnc(syssdate,hh),yyyyy.mm.dd hhh24:mii:ss) hh, 2 to_char(truncc(sysddate,mi),yyyyy.mm.ddd hh224:mi:ss) hhmm from dual; HH HHHMM - - 22004.005.09 11:000:00 22004.005.09 11:177:00 42.CHARRTOROWWID 將字字符數(shù)據(jù)類(lèi)型型轉(zhuǎn)換為ROOWID類(lèi)型型 SQL s

40、eleect roowid,rrowidttocharr(rowiid),enname ffrom sscott.emp; ROWIDD ROWIIDTOCHHAR(ROOWID) ENAMEE - - - AAAAffKAACAAAAAEqqAAA AAAAAfKKAACAAAAAEqAAAA SMMITH AAAAAfKKAACAAAAAEqAAAB AAAAAfKAAACAAAAAEqAAAB ALLLEN AAAAAfKAAACAAAAAEqAAAC AAAAAfKAAACAAAAAEqAACC WARDD AAAAAfKAACCAAAAEEqAAD AAAAffKAACAAAAAEq

41、qAAD JJONES 43.CONVVERT(cc,dsett,ssett) 將源字字符串 ssset從一個(gè)個(gè)語(yǔ)言字符集集轉(zhuǎn)換到另一一個(gè)目的dsset字符集集 SQL seleect coonvertt(strrutz,we8hhp,ff7dec) coonverssion from dual; convver - struttz 44.HEXTTORAW 將一個(gè)十六六進(jìn)制構(gòu)成的的字符串轉(zhuǎn)換換為二進(jìn)制 45.RAWTTOHEXTT 將一個(gè)二二進(jìn)制構(gòu)成的的字符串轉(zhuǎn)換換為十六進(jìn)制制 46.ROWIIDTOCHHAR 將RROWID數(shù)數(shù)據(jù)類(lèi)型轉(zhuǎn)換換為字符類(lèi)型型 47.TO_CCHAR(ddate,

42、formaat) SSQL sselectt to_cchar(ssysdatte,yyyyy/mmm/dd hhh24:mmi:ss) froom duaal; TOO_CHARR(SYSDDATE,YY - 20004/055/09 221:14:41 48.TO_DDATE(sstringg,forrmat) 將字符串串轉(zhuǎn)化為ORRACLE中中的一個(gè)日期期 49.TO_MMULTI_BYTE 將字符串中中的單字節(jié)字字符轉(zhuǎn)化為多多字節(jié)字符 SQL selecct to_multii_bytee(高) fromm duall; TO - 高 50.TO_NNUMBERR 將給出的的字符轉(zhuǎn)換為

43、為數(shù)字 SQQL seelect to_nuumber(19999) yeear frrom duual; YYEAR - 11999 51.BFILLENAMEE(dir,file) 指定一個(gè)個(gè)外部二進(jìn)制制文件 SQQLinssert iinto ffile_ttb1 vaalues(bfileename(lob_dir1,imaage1.ggif); 52.CONVVERT(x,ddesc,sourrce) 將x字段或或變量的源ssourcee轉(zhuǎn)換為deesc SQQL seelect sid,sseriall#,useernamee,decoode(coommandd, 2 00,non

44、ne, 33 2,iinsertt, 4 3, 5 seleect, 6 6,updatte, 77 7,ddeletee, 8 8,drrop, 9 othher) cmd ffrom vv$sesssion wwhere type!=bacckgrouund; SID SSERIALL# USEERNAMEE CMD - - - - 1 1 nonne 2 11 nonee 3 1 none 4 1 nnone 55 1 noone 6 1 nonne 7 11275 nnone 88 12755 nonee 9 200 GAO selecct 10 40 GAAO nonne 53.DU

45、MPP(s,fmmt,staart,leength) DUMPP函數(shù)以fmmt指定的內(nèi)內(nèi)部數(shù)字格式式返回一個(gè)VVARCHAAR2類(lèi)型的的值 SQLL coll globbal_naame foor a300 SQL col dump_strinng forr a50 SQL set llin 2000 SQLL sellect ggloball_namee,dumpp(globbal_naame,10017,8,5) duump_sttring from globaal_namme; GLLOBAL_NAME DUMP_STRINNG - - OORACLEE.WORLLD Typp=1 Le

46、en=12 CharaacterSSet=ZHHS16GBBK: W,O,R,LL,D 54.EMPTTY_BLOOB()和EEMPTY_CLOB() 這兩個(gè)個(gè)函數(shù)都是用用來(lái)對(duì)大數(shù)據(jù)據(jù)類(lèi)型字段進(jìn)進(jìn)行初始化操操作的函數(shù) 55.GREAATEST 返回一組表表達(dá)式中的最最大值,即比比較字符的編編碼大小. SQL selecct greeatestt(AA,AB,AC) froom duaal; GRR - AC SQL selecct greeatestt(啊,安,天) ffrom ddual; GR - 天 56.LEASST 返回一一組表達(dá)式中中的最小值 SQL selecct leaast(

47、啊啊,安,天) fromm duall; LE - 啊 57.UID 返回標(biāo)識(shí)當(dāng)當(dāng)前用戶(hù)的唯唯一整數(shù) SSQL sshow uuser UUSER 為為GAO SQL seleect ussernamme,useer_id from dba_uusers wheree userr_id=uuid; UUSERNAAME USSER_IDD - - GAOO 25 58.USERR 返回當(dāng)前前用戶(hù)的名字字 SQL seleect usser frrom duual; UUSER - GAO 59.USERREVN 返返回當(dāng)前用戶(hù)戶(hù)環(huán)境的信息息,opt可可以是: EENTRYIID,SESSSIO

48、NIID,TERRMINALL,ISDBBA,LABBLE,LAANGUAGGE,CLIIENT_IINFO,LLANG,VVSIZE ISDBAA 查看當(dāng)前前用戶(hù)是否是是DBA如果果是則返回ttrue SSQL sselectt userrenv(isdbaa) frrom duual; UUSERENN - FAALSE SSQL sselectt userrenv(isdbaa) frrom duual; UUSERENN - TRRUE SEESSIONN 返回會(huì)話話標(biāo)志 SQQL seelect usereenv(ssessioonid) fromm duall; USEERENV(

49、SESSSIONIDD) - 1152 ENNTRYIDD 返回會(huì)話話人口標(biāo)志 SQL selecct useerenv(entrryid) fromm duall; USEERENV(ENTRRYID) - 0 INSTTANCE 返回當(dāng)前IINSTANNCE的標(biāo)志志 SQL seleect usserenvv(insstancee) frrom duual; UUSERENNV(INNSTANCCE) - 11 LANGGUAGE 返回當(dāng)前環(huán)環(huán)境變量 SSQL sselectt userrenv(languuage) fromm duall; USEERENV(LANGGUAGE) - S

50、IMPLLIFIEDD CHINNESE_CCHINA.ZHS166GBK LLANG 返返回當(dāng)前環(huán)境境的語(yǔ)言的縮縮寫(xiě) SQLL sellect uuserennv(laang) from dual; USERRENV(LANG) - ZHS TEERMINAAL 返回用用戶(hù)的終端或或機(jī)器的標(biāo)志志 SQL seleect usserenvv(terrminall) frrom duual; UUSERENNV(TEERMINAA - GAAO VSIIZE(X) 返回X的的大小(字節(jié)節(jié))數(shù) SQQL seelect vsizee(userr),useer froom duaal; VSSIZE

51、(UUSER) USER - - 6 SYSTEEM60.AVG(DISTIINCT|AALL) aall表示對(duì)對(duì)所有的值求求平均值,ddistinnct只對(duì)不不同的值求平平均值 SQQLWKS creaate taable ttable33(xm vvarchaar(8),sal nnumberr(7,2); 語(yǔ)句句已處理。 SQLWKKS innsert into tablee3 vallues(gao,1111.11); SQLWKKS innsert into tablee3 vallues(gao,1111.11); SQLWKKS innsert into tablee3 vall

52、ues(zhu,5555.55); SQLWKKS coommit; SQL seleect avvg(disstinctt sal) fromm gao.tablee3; AVVG(DISSTINCTTSAL) - 33333.33 SQL selecct avgg(all sal) from gao.ttable33; AVGG(ALLSSAL) - 25922.59 61.MAX(DISTIINCT|AALL) 求求最大值,AALL表示對(duì)對(duì)所有的值求求最大值,DDISTINNCT表示對(duì)對(duì)不同的值求求最大值,相相同的只取一一次 SQLL sellect mmax(diistincct sa

53、ll) froom scoott.emmp; MAAX(DISSTINCTTSAL) - 50000 62.MIN(DISTIINCT|AALL) 求求最小值,AALL表示對(duì)對(duì)所有的值求求最小值,DDISTINNCT表示對(duì)對(duì)不同的值求求最小值,相相同的只取一一次 SQLL sellect mmin(alll sall) froom gaoo.tablle3; MMIN(ALLLSAL) - 11111.111 63.STDDDEV(diistincct|alll) 求標(biāo)準(zhǔn)準(zhǔn)差,ALLL表示對(duì)所有有的值求標(biāo)準(zhǔn)準(zhǔn)差,DISSTINCTT表示只對(duì)不不同的值求標(biāo)標(biāo)準(zhǔn)差 SQQL seelect std

54、deev(sall) froom scoott.emmp; STTDDEV(SAL) - 11882.50332 SQLL sellect sstddevv(disttinct sal) from scottt.emp; STDDDEV(DIISTINCCTSAL) - 12299.951 64.VARIIANCE(DISTIINCT|AALL) 求求協(xié)方差 SSQL sselectt variiance(sal) from scottt.emp; VARIIANCE(SAL) - 113983113.9 65.GROUUP BY 主要用來(lái)對(duì)對(duì)一組數(shù)進(jìn)行行統(tǒng)計(jì) SQQL seelect dep

55、tnno,couunt(*),sum(sal) from scottt.emp groupp by ddeptnoo; DEPPTNO CCOUNT(*) SUUM(SALL) - - - 10 3 87550 20 5 108875 300 6 94400 66.HAVIING 對(duì)分分組統(tǒng)計(jì)再加加限制條件 SQL selecct depptno,ccount(*),suum(sall) froom scoott.emmp grooup byy depttno haaving countt(*)=5; DEEPTNO COUNTT(*) SSUM(SAAL) - - - 200 5 10087

56、5 330 6 99400 SSQL sselectt depttno,coount(*),summ(sal) fromm scottt.empp haviing coount(*)=5 groupp by ddeptnoo ; DEEPTNO COUNTT(*) SSUM(SAAL) - - - 200 5 100875 330 6 99400 67.ORDEER BY 用于對(duì)查詢(xún)?cè)兊降慕Y(jié)果進(jìn)進(jìn)行排序輸出出 SQL seleect deeptno,enamee,sal from scottt.emp orderr by ddeptnoo,sal desc; DEPTTNO ENNAME SS

57、AL - - - 110 KINNG 50000 10 CLARKK 24500 10 MMILLERR 13000 20 SSCOTT 3000 20 FOORD 30000 200 JONEES 29775 20 ADAMSS 11000 20 SSMITH 800 330 BLAAKE 28850 300 ALLEEN 16000 30 TURNEER 15000 30 WARD 1250 30 MAARTIN 1250 30 JAAMES 9950 Oracle的的左右連接使使用起來(lái)更加加方便:select * froom empp e,deept d wheree e.deeptno

58、(+)=d.deptnno;(+)放在=的的左邊表示右右連接,放在在右邊表示左左連接;SQL 19999連接查詢(xún)?cè)儯篶rosss joiin 專(zhuān)門(mén)用用于產(chǎn)生笛卡卡爾積;Naturall joinn 自動(dòng)找找到匹配的關(guān)關(guān)聯(lián)字段,消消除笛卡爾積積;Join uusing 字段名,使使用指定的字字段來(lái)自動(dòng)消消除笛卡爾積積;Join oon 用戶(hù)戶(hù)自己指定一一個(gè)可以消除除笛卡爾積的的條件;連接方向的改變變Left (oouter) joinRight (oouter) joinFull (oout) joinSQL 19999主要用于于其他的數(shù)據(jù)據(jù)庫(kù),如果一一直使用orracle數(shù)數(shù)據(jù)庫(kù),可以以略過(guò)此

59、部分分;Group bby 要放在在orderr by之前前;Group bby 子句中中的內(nèi)容必須須出現(xiàn)在seelect子子句中;分組函數(shù)允許嵌嵌套,但是嵌嵌套之后的分分組函數(shù)的查查詢(xún)之中不能能再出現(xiàn)任何何的其他字段段;按照職位分組,統(tǒng)統(tǒng)計(jì)平均工資資最高的工資資:第一步:Sellect jjob,avvg(sall) froom empp grouup by job;第二步: sselectt max(avg(ssal) from emp ggroup by jjob;多表查詢(xún)的性能能可能會(huì)比較較低,而它最最可能的替代代者是子查詢(xún)?cè)?,所以子查查?xún)?cè)贁?shù)據(jù)量量較大時(shí)使用用的較多;完整的查詢(xún)語(yǔ)句句可能如下:Select 字段1,字字段2,(子子句 別名11) From 表名名稱(chēng)1,表名名稱(chēng)2,子句句3Where 條條件,子句Group bby 分組字字段1,分組組字段2Having 分組后的過(guò)過(guò)濾條件(可可以使用統(tǒng)計(jì)計(jì)函數(shù))Order bby 排序字字段Where子查查詢(xún)一般都返返回單行單列列,多行單列列或者單行多多列的結(jié)果;From子查詢(xún)?cè)円话惴祷囟喽嘈卸嗔械臄?shù)數(shù)據(jù),當(dāng)做臨臨時(shí)表出現(xiàn);Where子句句為單行多列列的例子:(單行多列的的例子很少出出現(xiàn))Select * froom e

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論