版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、n通過本課時的學習,您需要掌握以下內(nèi)容:通過本課時的學習,您需要掌握以下內(nèi)容:1,簡單了解,簡單了解oracle的系統(tǒng)架構(gòu)的系統(tǒng)架構(gòu)2,結(jié)構(gòu)化查詢語言的運用,結(jié)構(gòu)化查詢語言的運用SQL掌握數(shù)據(jù)檢索,更新,刪除的數(shù)據(jù)管理操作掌握數(shù)據(jù)檢索,更新,刪除的數(shù)據(jù)管理操作3,學習,學習oracle常用的函數(shù)常用的函數(shù)單行函數(shù)單行函數(shù)組函數(shù)組函數(shù)目標目標 Instance內(nèi)存組件內(nèi)存組件SGASHARE POOL數(shù)據(jù)庫高速緩沖池數(shù)據(jù)庫高速緩沖池后臺進程后臺進程結(jié)構(gòu)化查詢語言結(jié)構(gòu)化查詢語言SQLSQL語言:語言:nDDLDDL數(shù)據(jù)定義語言數(shù)據(jù)定義語言CreateCreate,alteralter,dropdr
2、op,truncatetruncate,dropdrop等等nDMLDML數(shù)據(jù)控制語言數(shù)據(jù)控制語言select,update,delete,insertselect,update,delete,insert等等nDCL DCL 數(shù)據(jù)控制語言數(shù)據(jù)控制語言: : ALTER ALTER SESSION,SET ROLE,ALTER SESSION,SET ROLE,ALTER SYSTEM SYSTEM 等等nTCL TCL 事務(wù)控制事務(wù)控制COMMIT,ROLLBACK,SAVEPOINTCOMMIT,ROLLBACK,SAVEPOINT數(shù)據(jù)庫查詢數(shù)據(jù)庫查詢n1) 用SELECT語句從表中提取查
3、詢數(shù)據(jù)。語法為SELECT DISTINCT column1,column2, FROM tablename WHERE conditions GROUP BY conditions ORDER BY expressions ASC/DESC; 說明:SELECT子句用于指定檢索數(shù)據(jù)庫的中哪些列,F(xiàn)ROM子句用于指定從哪一個表或視圖中檢索數(shù)據(jù)。n2) SELECT中的操作符及多表查詢WHERE子句。(LIKE,IS,)WHERE子句中的條件可以是一個包含等號或不等號的條件表達式,也可以是一個含有IN、NOT IN、BETWEEN、LIKE、IS NOT NULL等比較運算符的條件式,還可以是由
4、單一的條件表達通過邏輯運算符組合成復(fù)合條件。n3) ORDER BY 子句ORDER BY 子句使得SQL在顯示查詢結(jié)果時將各返回行按順序排列,返回行的排列順序由ORDER BY 子句指定的表達式的值確定。n4)子查詢?nèi)绻骋粋€SELECT命令(查詢1)出現(xiàn)在另一個SQL命令(查詢2)的一個子句中,則稱查詢1是查詢2的子查詢。數(shù)據(jù)操縱語言數(shù)據(jù)操縱語言(DML)(DML)n數(shù)據(jù)庫操縱語言(DML)命令用于查詢和操縱模式對象中的數(shù)據(jù),它不隱式地提交當前事務(wù)。它包含UPDATE、INSERT、DELETE、SELECT等命令。 nINSERT語句:nINSERT INTO tablename col
5、umn1,column2, VALUES expression1,expression2,;n例如:SQLinsert INTO DEPT(DNAME, DEPTNO)n VALUES (ACCOUNTING,10)nupdate更新nUPDATE tablename SET column1=expression1,column2=expression2, WHERE conditions;例如:SQLUPDATE EMP SET JOB =MANAGER WHERE ENAME=MAPTIN; SQL SELECT * FROM EMP;UPDATE子句指明了要修改的數(shù)據(jù)庫是EMP,并用WH
6、ERE子句限制了只對名字(ENAME)為MARTIN的職工的數(shù)據(jù)進行修改,SET子句則說明修改的方式,即把MARTION的工作名稱(JOB)改為MARAGERnDelete 語句nDELETE FROM tablename WHERE conditions;n例如:SQLDELETE FROM EMP WHERE EMPNO = 7654;nDELETE命令刪除一條記錄,而且DELETE命令只能刪除整行,而不能刪除某行中的部分數(shù)據(jù). 在使用時需要慎用!DDL數(shù)據(jù)對象數(shù)據(jù)對象n創(chuàng)建數(shù)據(jù)對象表、索引等創(chuàng)建數(shù)據(jù)對象表、索引等可以通過子查詢來建立一個空表:Createtablesms_mo_log_b
7、ackasselect*fromsms_mo_logwhere1=2;n刪除數(shù)據(jù)對象:刪除數(shù)據(jù)對象:Drop table sms_mo_log_back;ntruncate table sms_mo_log_back;n更改數(shù)據(jù)對象更改數(shù)據(jù)對象增加主鍵:增加主鍵:Alter table sms_mo_log Add constraints pk_1 primary key(sequenct_id);增加一個字段:增加一個字段:alter table table_name add column column_name datatype ;Dcl 數(shù)據(jù)控制語句數(shù)據(jù)控制語句nGrant Grant
8、connect,resource to usernamenRevokenRevoke connect,resource from usernamenAlter userAlter user name quota 300M on tablespace_nameTCLTCL事務(wù)控制命令事務(wù)控制命令n提交命令(COMMIT):可以使數(shù)據(jù)庫的修改永久化.設(shè)置AUTOCOMMIT為允許狀態(tài):SQL SET AUTOCOMMIT ON;n回滾命令(ROLLBACK):消除上一個COMMIT命令后的所做的全部修改,使得數(shù)據(jù)庫的內(nèi)容恢復(fù)到上一個COMMIT執(zhí)行后的狀態(tài).使用方法是:SQLROLLBACK;Tr
9、ansaction1char/varchar2 nchar類型保存定長字符串,最小長度為1字節(jié)(或字符數(shù)),最長2000字節(jié)(注意這里是字節(jié),而不是字符數(shù)),如果不指定,則默認為1。比如:create table t(name char);查看該表結(jié)構(gòu):desc t;SQL create table t(name char(2001);create table t(name char(2001)ERROR at line 1:ORA-00910: specified length too long for its datatypenvarchar2和varchar是同義詞,都是指變長字符串類型
10、。但是由于某種原因,varchar可能在后續(xù)版本中改變varchar的意思還是怎么的,oracle建議使用varchar2。在使用varchar2類型時必須指定其長度(最小1字節(jié)或字符數(shù),最大4000字節(jié))常用字符串函數(shù)常用字符串函數(shù)1nASCII()例:selectascii(A)A,ascii(a)a,ascii(0)zero,ascii()spacefromdual; CHR(i)NCHAR_CS 例:selectchr(65),chr(122)fromdual;nCONCAT(,) c1,c2均為字符串,函數(shù)將c2連接到c1的后面,如果c1為null,將返回c2.如果c2為null,則
11、返回c1,如果c1、c2都為null,則返回null。他和操作符|返回的結(jié)果相同nINITCAP() c1為一字符串。函數(shù)將每個單詞的第一個字母大寫其它字母小寫返回。單詞由空格,控制字符,標點符號限制。例:selectinitcap(helloworld,everybody)fromdual;nINSTR (C1,C2,I,J ) c1,c2均為字符串,i,j為整數(shù)。函數(shù)返回c2在c1中第j次出現(xiàn)的位置,搜索從c1的第i個字符開始。當沒有發(fā)現(xiàn)需要的字符時返回0,如果i為負數(shù),那么搜索將從右到左進行,但是位置的計算還是從左到右,i和j的缺省值為1.例:selectinstr(woareworki
12、nghard,now,o)fromdual;常用字符串函數(shù)常用字符串函數(shù)2nINSTRB(,i,j)與INSTR()函數(shù)一樣,只是他返回的是字節(jié),對于單字節(jié)INSTRB()等于INSTR()nLENGTH() c1為字符串,返回c1的長度,如果c1為null,那么將返回null值。LENGTHb()與LENGTH()一樣,返回字節(jié)。lower() 返回c的小寫字符,經(jīng)常出現(xiàn)在where子串中LPAD(,i,) c1,c2均為字符串,i為整數(shù)。在c1的左側(cè)用c2字符串補足致長度i,可多次重復(fù),如果i小于c1的長度,那么只返回i那么長的c1字符,其他的將被截去。c2的缺省值為單空格,參見RPAD。
13、selectlpad(concept,50,.)fromdual;nRPAD(,i,) 在c1的右側(cè)用c2字符串補足致長度i,可多次重復(fù),如果i小于c1的長度,那么只返回i那么長的c1字符,其他的將被截去。c2的缺省值為單空格,其他與LPAD相似常用字符串函數(shù)常用字符串函數(shù)3nLTRIM(c1,c2)把c1中最左邊的字符去掉,使其第一個字符不在c2中,如果沒有c2,那么c1就不會改變。RTRIM(c1,c2) 把c1中最右邊的字符去掉,使其第后一個字符不在c2中,如果沒有c2,那么c1就不會改變。nREPLACE(c1,c2,c3)c1,c2,c3都是字符串,函數(shù)用c3代替出現(xiàn)在c1中的c2后
14、返回。nSubSTR(,i,)c1為一字符串,i,j為整數(shù),從c1的第i位開始返回長度為j的子字符串,如果j為空,則直到串的尾部。nTRIM( from c3)將c3串中的第一個,最后一個,或者都刪除。nUPPER()返回c1的大寫,常出現(xiàn)where子串中數(shù)字類型數(shù)字類型Oracle number datatype 語法:語法:NUMBER(precision , scale)簡稱:簡稱:precision - p scale - sNUMBER(p, s)范圍:范圍: 1 = p =38, -84 = s = 127保存數(shù)據(jù)范圍:保存數(shù)據(jù)范圍:-1.0e-130 = number value
15、 0 精確到小數(shù)點右邊精確到小數(shù)點右邊s位,并四舍五入。然后檢驗有效位是否位,并四舍五入。然后檢驗有效位是否 = p。s 0 精確到小數(shù)點左邊精確到小數(shù)點左邊s位,并四舍五入。然后檢驗有效位是否位,并四舍五入。然后檢驗有效位是否 n=n=nn=n、!、!=、邏輯運算邏輯運算nAndSelect * from sms_mt_log where submit_time200802 and submit_time200802 or act_code like %_01936nNotselect * from user_custom t where t.act_code like %01863% an
16、d t.fee_terminal_id not in ();數(shù)值函數(shù)數(shù)值函數(shù)nMOD()返回n1除以n2的余數(shù)nPOWER(,)返回n1的n2次nROUND(,)nTRUNC(,)返回截尾到n2位小數(shù)的n1的值,n2缺省設(shè)置為0,當n2為缺省設(shè)置時會將n1截尾為整數(shù),如果n2為負值,就截尾在小數(shù)點左邊相應(yīng)的位上。nATAN()反正切函數(shù),返回n的反正切值,n表示nCEIL()返回大于或等于n的最小整數(shù)。nCOS()返回n的余玄值,n為弧度nCOSH()返回n的雙曲余玄值,n為數(shù)字。nEXP()返回e的n次冪,e=2.71828183.nFLOOR()返回小于等于N的最大整數(shù)。n格式轉(zhuǎn)換格式轉(zhuǎn)換
17、nTO_CHAR(,)x是一個data或number數(shù)據(jù)類型,函數(shù)將x轉(zhuǎn)換成fmt指定格式的char數(shù)據(jù)類型,如果x為日期nlsparm=NLS_DATE_LANGUAGE控制返回的月份和日份所使用的語言。如果x為數(shù)字nlsparm=NLS_NUMERIC_CHARACTERS用來指定小數(shù)位和千分位的分隔符,以及貨幣符號nTO_DATE(,)c表示字符串,fmt表示一種特殊格式的字符串。返回按照fmt格式顯示的c,nlsparm表示使用的語言。函數(shù)將字符串c轉(zhuǎn)換成date數(shù)據(jù)類型。nTO_NUMBER(,)c表示字符串,fmt表示一個特殊格式的字符串,函數(shù)返回值按照fmt指定的格式顯示。nls
18、parm表示語言,函數(shù)將返回c代表的數(shù)字。nDECODE(,)x是一個表達式,m1是一個匹配表達式,x與m1比較,如果m1等于x,那么返回r1,否則,x與m2比較,依次類推m3,m4,m5.直到有返回結(jié)果。USERENV()nUSERENV()基于opt返回包含當前會話信息。opt的可選值為ISDBA會話中SYSDBA腳色響應(yīng),返回TRUESESSIONID返回審計會話標示符ENTRYID返回可用的審計項標示符INSTANCE在會話連接后,返回實例標示符。該值只用于運行Parallel服務(wù)器并且有多個實例的情況下使用。LANGUAGE返回語言、地域、數(shù)據(jù)庫設(shè)置的字符集。LANG返回語言名稱的ISO縮寫。TERMINAL為當前會話使用的終端或計算機返回操作系統(tǒng)的標示符n常用查看數(shù)據(jù)庫字符集:常用查看數(shù)據(jù)庫字符集:Selectuserenv(language)fromdual;組函數(shù)組函數(shù)nSQL中的組函數(shù)組函數(shù)也叫聚合函數(shù),返回基于多個行的單一結(jié)果,行的準確數(shù)量無法確定,除非查詢被執(zhí)行并且所有的結(jié)果都被包含在內(nèi)。與單行函數(shù)不同的是,在解析時所有的行都是已知的。n組(多
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024民房施工節(jié)能評估報告合同3篇
- 2024年規(guī)范化工程單元承包協(xié)議樣本版B版
- 2024植筋加固施工班組勞務(wù)分包合同12篇
- 2024年防曬窗簾安裝合同3篇
- 2023-2024年初級銀行從業(yè)資格之初級個人理財試題及答案一
- 2024版國道護欄系統(tǒng)訂購協(xié)議3篇
- 2024清工承包合同:智慧社區(qū)基礎(chǔ)設(shè)施改造3篇
- 2024版工程裝修合作的協(xié)議書范本
- 2024版房屋建筑施工消防安全保障合同版
- 2024版智能穿戴設(shè)備研發(fā)與市場推廣合同
- 視頻監(jiān)控室值班記錄表
- 歌曲《梁?!泛喿V完整版
- 四川2020版清單定額
- 教材編寫工作總結(jié)
- 企業(yè)員工上下班交通安全培訓(簡詳共2份)
- 城市高密度建成區(qū)合流制溢流污染系統(tǒng)研究-黃孝河機場河水環(huán)境綜合治理項目實踐
- word 公章 模板
- T∕ZSQX 008-2020 建設(shè)工程全過程質(zhì)量行為導(dǎo)則
- ISO-IEC17025-2017實驗室管理體系全套程序文件
- 深圳智能水表項目商業(yè)計劃書_參考模板
- 地理信息系統(tǒng)原理全冊配套完整課件
評論
0/150
提交評論