《Oracle數(shù)據(jù)庫技術(shù)與應(yīng)用》課件-CORE-02_第1頁
《Oracle數(shù)據(jù)庫技術(shù)與應(yīng)用》課件-CORE-02_第2頁
《Oracle數(shù)據(jù)庫技術(shù)與應(yīng)用》課件-CORE-02_第3頁
《Oracle數(shù)據(jù)庫技術(shù)與應(yīng)用》課件-CORE-02_第4頁
《Oracle數(shù)據(jù)庫技術(shù)與應(yīng)用》課件-CORE-02_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目標(biāo)了解Oracle數(shù)據(jù)庫類型,建立Oracle數(shù)據(jù)庫對象的基本步驟理解數(shù)據(jù)類型在數(shù)據(jù)庫設(shè)計中的地位及使用方法掌握Oracle常用的數(shù)據(jù)類型、常用的函數(shù),熟練使用OracleOracleSQL數(shù)據(jù)類型Oracle的數(shù)據(jù)類型主要有:標(biāo)量類型(Scalar)復(fù)合類型(Composite)參照類型(Reference)LOB類型(LargeObject)本章在數(shù)據(jù)類型方面主要掌握基本數(shù)據(jù)類型:標(biāo)量數(shù)據(jù)類型標(biāo)量數(shù)據(jù)類型類型說明char(n)定長字符類型,n=1to2000字節(jié)varchar2(n)變長字符類型,n=1to4000字節(jié)number(m,n)可變長的數(shù)值類型,m是所有有效數(shù)字的位數(shù),n是小數(shù)點以后的位數(shù)date日期和時間類型,缺省格式:DD-MON-YYlong變長字符類型,最大長度限制是2GBraw(n)變長二進制數(shù)據(jù)類型,n=1to2000longraw變長二進制數(shù)據(jù)類型,最大長度是2GBboolean布爾數(shù)據(jù)類型,其值為TRUE、FALSE、NULL,非表列數(shù)據(jù)類型,是PL/SQL數(shù)據(jù)類型binary_integer整數(shù)類型,取值范圍為:-2147483647和2147483647之間,是PL/SQL數(shù)據(jù)類型,不能用于表列Oracle內(nèi)置函數(shù)主要的函數(shù)分類有:數(shù)字函數(shù)字符函數(shù)日期函數(shù)轉(zhuǎn)換函數(shù)集合函數(shù)分組函數(shù)等數(shù)字函數(shù)數(shù)字函數(shù)的輸入?yún)?shù)和返回值都是數(shù)字型selectABS(-100)fromdual;ABS(n)返回數(shù)字n的絕對值selectFLOOR(15.1)fromdual;FLOOR(n)返回小于等于數(shù)字n的最大整數(shù)selectCEIL(10.3)fromdual;CEIL(n)返回大于等于數(shù)字n的最小整數(shù)

數(shù)字函數(shù)selectMOD(10,3)fromdual;MOD(m,n)返回兩個數(shù)字相除后的余數(shù)selectPOWER(-2,3)fromdual;POWER(m,n)返回數(shù)字m的n次冪

selectROUND(99.989,2)fromdual;ROUND(n,[m])執(zhí)行四舍五入運算,m為要保留的小數(shù)位數(shù)

數(shù)字函數(shù)selectSIN(0.3)fromdual;SIN(n)返回數(shù)字n的正弦值(以弧度表示角)

selectCOS(0.5)fromdual;COS(n)返回數(shù)字n的余弦值

selectLOG(2,8)fromdual;LOG(m,n)返回數(shù)字m為底的數(shù)字n的對數(shù)

字符函數(shù)字符函數(shù)輸入的參數(shù)是字符類型,返回值是數(shù)字類型或字符類型selectASCII(‘a(chǎn)’)fromdual;ASCII(char)返回字符串首字符的ASCII碼值

selectCHR(56)fromdual;CHR(n)將ASCII碼值轉(zhuǎn)為字符

selectCONCAT(‘Good’,‘morning’)fromdual;CONCAT(char1,char2)將兩個字符串連接

字符函數(shù)selectLENGTH(‘wish’)fromdual;LENGTH(char)返回字符串的長度

selectLOWER(‘SQL’)fromdual;LOWER(char)將字符串轉(zhuǎn)為小寫

selectUPPER(‘sql’)fromdual;UPPER(char)將字符串轉(zhuǎn)為大寫

字符函數(shù)selectSUBSTR(‘good’,1,2)fromdual;SUBSTR(char,m[,n])返回字符串中指定位置的子串

selectINSTR(‘wish’,‘s’)fromdual;INSTR(char1,char2[,n[,m]])返回子串在字符串中的位置

selectTRIM(‘sql’)fromdual;TRIM(char)將字符串左右空格清除

日期和時間函數(shù)selectSYSDATEfromdual;SYSDATE返回系統(tǒng)當(dāng)前日期

selectCURRENT_DATEfromdual;CURRENT_DATE返回當(dāng)前會話時區(qū)所對應(yīng)的日期時間

selectEXTRACT(yearfromsysdate)fromdual;EXTRACT從日期時間值中取得特定數(shù)據(jù)

日期和時間函數(shù)selectADD_MONTHS(sysdate,1)fromdual;ADD_MONTHS(d,n)返回特定日期時間d加上n個月后的日期時間

selectNEXT_DAY(sysdate,‘星期一’)fromdual;NEXT_DAY(d,char)返回指定日期后的第一個指定工作日所對應(yīng)的日期

selectLAST_DAY(sysdate)fromdual;LAST_DAY(d)返回特定日期所在月份最后一天

轉(zhuǎn)換函數(shù)轉(zhuǎn)換函數(shù):將數(shù)值從一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型selectTO_CHAR(n’星期一’)fromdual;TO_CHAR(char)將NCHAR,NVARCHAR2等轉(zhuǎn)換成數(shù)據(jù)庫字符集數(shù)據(jù)

selectTO_CHAR(sysdate,‘yyyy-mm-dd’)fromdual;TO_CHAR(date,fmt)將日期按指定的日期時間格式轉(zhuǎn)換成字符串

selectTO_DATE(‘2006-09-21’,‘yyyy-mm-dd’)fromdual;TO_DATE(char,fmt)將字符串按指定的格式轉(zhuǎn)換成日期時間數(shù)據(jù)分組函數(shù)分組函數(shù):執(zhí)行數(shù)據(jù)的統(tǒng)計或匯總操作計算雇員表中雇員的平均工資selectAVG(sal)fromemp;AVG([ALL|DISTINCT|EXPR])計算平均值

計算雇員表中雇員的總?cè)藬?shù)selectCOUNT(*)fromemp;COUNT([ALL|DISTINCT|EXPR])計算記錄的總計行數(shù)

分組函數(shù)找出最高工資selectMAX(sal)fromemp;MAX([ALL|DISTINCT|EXPR])取得列或表達式的最大值

找出最低工資selectMIN(sal)fromemp;MIN([ALL|DISTINCT|EXPR])取得列或表達式的最小值計算工資總額selectSUM(sal)fromemp;SUM([ALL|DISTINCT|EXPR])取得列或表達式的值的總和

其它重要的常用函數(shù)NVL(expr1,expr2):將空轉(zhuǎn)換為實際值。如果expr1是null,則返回expr2,否則返回expr1。注意expr1和expr2類型要匹配selectNVL(sal,10000.00)fromemp;sequence序列號sequence:自動增長的序列號createsequence定義CREATESEQUENCEempseq--自定義的序列名INCREMENTBY1--每次加幾個,即遞增的間隔STARTWITH1--從1開始計數(shù)NOMAXVALUE--不設(shè)置最大值NOCYCLE--一直累加,不循環(huán)CACHE10;sequence序列號sequence序列用法CURRVAL:返回sequence的當(dāng)前值NEXTVAL:增加sequence的值,然后返回sequence值在DML中使用序列INSERTINTOempVALUES(empseq.nextval,‘LEWIS’,‘CLERK’,7902,SYSDATE,1200,NULL,20);

SELECTempseq.currvalFROMDUAL;sequence序列號

使用ALTERSEQUENCE修改序列ALTERSEQUENCEempseqINCREMENTBY10MAXVALUE10000CYCLE

--到10000后從頭開始

NOCACHE;使用DROPSEQUENCE刪除序列DROPSEQUENCEempseq同義詞同義詞:是數(shù)據(jù)庫對象,允許給Oracle表取不同的名字,可以大大簡化數(shù)據(jù)庫的操作,提高數(shù)據(jù)庫的安全。同義詞分為私有同義詞和公有同義詞。創(chuàng)建同義詞語法:Create[public]synonym同義詞名forobject其中object可以是:表(table)、視圖(view)、快照(snapshot)、序列(sequence)、過程(procedure)、函數(shù)(function)、包(package)、對象類型(objecttype)同義詞創(chuàng)建私有同義詞createsynonymTTCforB.T_trade_current;通過同義詞訪問數(shù)據(jù)表select*fromTTCdelete*fromTTC刪除同義詞建立符合完整性約束表約束主鍵約束(PRIMARYKEY)外鍵約束(FOREIGNKEY)唯一約束(UNIQUE)檢查約束(CHECK)默認(rèn)約束(DEFAULT)非空約束(NOTNULL)建立符合完整性約束表--1.建立部門表Createtabledept(deptnonumber(5)primarykey,--主鍵dnamevarchar2(20)uniquenotnull,--唯一,非空dnumnumber(7)check(enum>0)--檢查)--2.建立員工表Createtableemp(Empnonumber(6)primarykey,Enamevarcahr2(30)notnull,Sal

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論