《Oracleg數(shù)據(jù)庫(kù)基礎(chǔ)教程XXXX 第章SQLLUS》由會(huì)員分享,可在線閱讀,更多相關(guān)《Oracleg數(shù)據(jù)庫(kù)基礎(chǔ)教程XXXX 第章SQLLUS(47頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,Oracle 10g,數(shù)據(jù)庫(kù)基礎(chǔ)教程,2012,第5章 SQL*PLUS,本章內(nèi)容,SQL*PLUS工具介紹,SQL*PLUS常用命令,iSQL*Plus,本章要求,了解SQL*PLUS工具的應(yīng)用,掌握SQL*PLUS基本命令操作,了解iSQL*Plus工具的使用,5.1 SQL*Plus概述,概念,SQL*Plus工具是隨Oracle 數(shù)據(jù)庫(kù)服務(wù)器或客戶端的安裝而自動(dòng)進(jìn)行安裝的管理與開(kāi)發(fā)工具,Oracle數(shù)據(jù)庫(kù)中所有的管理操作都可以通過(guò)SQL*Plus工具完成,同時(shí)開(kāi)發(fā)人員利用SQL*Plus可以測(cè)試、運(yùn)
2、行,SQL語(yǔ)句,和,PL/SQL程序,。,運(yùn)行方式,命令行方式,圖形界面方式(GUI),基于Web的iSQL*Plus方式,兩層結(jié)構(gòu)SQL*Plus,客戶端,、,數(shù)據(jù)庫(kù),服務(wù)器,三層結(jié)構(gòu)Web,瀏覽器,、,應(yīng)用服務(wù)器,和,數(shù)據(jù)庫(kù)服務(wù)器,在SQL*Plus中執(zhí)行的語(yǔ)句有3種:,SQL*Plus命令、SQL語(yǔ)句和PL/SQL程序,作用,輸入、編輯、存儲(chǔ)、提取、運(yùn)行和調(diào)試SQL語(yǔ)句和PL/SQL程序,開(kāi)發(fā)、執(zhí)行批處理腳本,執(zhí)行數(shù)據(jù)庫(kù)管理,處理數(shù)據(jù),生成報(bào)表,存儲(chǔ)、打印、格式化查詢結(jié)果,檢查表和數(shù)據(jù)庫(kù)對(duì)象定義,啟動(dòng)SQL*Plus,命令行,方式:,語(yǔ)法:,sqlplus,username/passwo
3、rdconnect_identifier|NOLOG,僅啟動(dòng)SQL*Plus,不連接數(shù)據(jù)庫(kù),運(yùn)行:,啟動(dòng):,不連接數(shù)據(jù)庫(kù),輸入用戶名,并指定,要連接的數(shù)據(jù)庫(kù),輸入口令,注意,:為了保證口令,安全,可以先不輸入,,等提示“,輸入口令,”時(shí),,再輸入!,運(yùn)行:,以系統(tǒng)用戶sys身份登錄啟動(dòng)SQL*Plus,orcl10g as sysdba,圖形界面方式:,選擇【開(kāi)始】【程序】【Oracle OraDb10g_home1】【應(yīng)用程序開(kāi)發(fā)】菜單中選擇SQL Plus命令,出現(xiàn)如圖所示登錄窗口。,在【用戶名】文本框中輸入用戶名,如scott;在【口令】文本框中輸入用戶口令,如tiger;在【主機(jī)字符串
4、】文本框中輸入數(shù)據(jù)庫(kù)名,如orcl10g。,Orcl10g as sysdba,注意,:如果以系統(tǒng)用戶名(如sys)登錄,,則“主機(jī)字符串”處,必須,輸入登錄,連接的,身份,!,SQL*Plus站點(diǎn)配置文件,站點(diǎn)配置文件,(Site Profile)是一個(gè)在SQL*Plus安裝時(shí)自動(dòng)創(chuàng)建的腳本文件,,用于控制,SQL*Plus與數(shù)據(jù)庫(kù)連接時(shí)的,會(huì)話行為,。當(dāng)用戶啟動(dòng)SQL*Plus建立與數(shù)據(jù)庫(kù)的連接時(shí),Oracle自動(dòng)讀取該腳本文件,并根據(jù)該文件內(nèi)容設(shè)置SQL*Plus的工作環(huán)境。,SQL*Plus站點(diǎn)配置文件是,針對(duì)所有會(huì)話,的。,在Windows系統(tǒng)中,SQL*Plus站點(diǎn)配置文件默認(rèn)名稱
5、為glogin.sql,存放在 sqlplusadmin文件夾中。,SQL*Plus的退出:EXIT或QUIT命令,說(shuō)明,:,會(huì)話,指用戶到數(shù)據(jù)庫(kù)的指定連接。,5.2 SQL*Plus常用命令,連接命令,編輯命令,文件操作命令,交互式命令,顯示與設(shè)置環(huán)境變量,格式化命令,其它常用命令,5.2.1,連,連接命,令,令,CONNECT:進(jìn),行,行用戶切,換,換或連接到,新,新的數(shù)據(jù)庫(kù),。,。,語(yǔ)法:,CONNECTusername/passwordhoststring,DISCONNECT,:,:斷開(kāi),與,與數(shù)據(jù),庫(kù),庫(kù)的連,接,接。,注意:該命,令,令作用僅僅是,斷,斷開(kāi)與數(shù)據(jù),庫(kù),庫(kù)的連接,不
6、退出SQL*Plus環(huán),境,境!,5.2.2,編,編輯命,令,令,在SQL*Plus,中,中執(zhí)行SQL,語(yǔ),語(yǔ)句、PL/SQL,程,程序時(shí),,,,輸入,的,的SQL,語(yǔ),語(yǔ)句和PL/SQL,程,程序代,碼,碼會(huì)暫時(shí)存,放,放到SQL緩,沖,沖區(qū)中。,輸入SQL語(yǔ),句,句,在語(yǔ)句,最,最后加分號(hào),并按回車,則立即執(zhí),行,行該語(yǔ)句,;,;,語(yǔ)句輸,入,入結(jié)束,后,后回車,換行,后,后再按回,車,車,則結(jié)束SQL語(yǔ),句,句輸入但不執(zhí)行該語(yǔ)句,;,;,語(yǔ)句輸,入,入結(jié)束,后,后按回車,換行,后,后按斜杠(/),,,,立即執(zhí),行,行該語(yǔ)句,。,。,輸入完P(guān)L/SQL,程,程序,回車換行后,按點(diǎn)號(hào)(.),
7、,,,則結(jié)束輸,入,入,但不執(zhí)行;,輸入斜,杠,杠(/),,,,則立即執(zhí),行,行。,顯示緩,沖,沖區(qū),LIST,編輯緩,沖,沖區(qū),APPEND,將,將指定,的,的文本,追,追加到,緩,緩沖區(qū),內(nèi),內(nèi)當(dāng)前,行,行的末,尾,尾;,CHANGE,修,修改緩,沖,沖區(qū)中,當(dāng),當(dāng)前行,的,的文本,;,;,DEL刪,除,除緩沖,區(qū),區(qū)中當(dāng),前,前行的,文,文本;,N用,數(shù),數(shù)值定,位,位緩沖,區(qū),區(qū)中的,當(dāng),當(dāng)前行,;,;,INPUT,在,緩,緩沖區(qū),當(dāng),當(dāng)前行,的,的后面,新,新增加,一,一行文,本,本;,EDIT,以,以文本,編,編輯器,方,方式打,開(kāi),開(kāi)緩沖,區(qū),區(qū),進(jìn),行,行編輯,。,。,執(zhí)行緩,
8、沖,沖區(qū),RUN,/,清除緩,沖,沖區(qū),CLEARBUFFER,注意:使用EDIT,命,命令時(shí),,,,緩沖區(qū),中,中必須,存,存在信,息,息。,常用編,輯,輯命令,:,:,刪除第,n,行,DEL,n,刪除,當(dāng)前,行,DEL,從SQL緩沖區(qū)中刪除所有行,CL,EAR,BUFF,ER,從當(dāng)前行刪除文本,text,C,HANGE/,text,在當(dāng)前行用新的文本替換舊的文本,C,HANGE/,old,/,new,添加文本到緩沖區(qū),當(dāng)前行尾,A,PPEND,text,說(shuō)明,命令,在第一行之前插入一行,0,text,用,text,替換第,n,行,n text,指定第,n,行為當(dāng)前行,n,執(zhí)行當(dāng)前緩沖區(qū)的命
9、令,/,執(zhí)行當(dāng)前緩沖區(qū)的命令,R,UN,顯示緩沖區(qū)中,m,到,n,行,L,IST,m n,顯示緩沖區(qū)中第,n,行,L,IST,n,顯示緩沖區(qū)中所有行,L,IST,在當(dāng)前行,之后,添加包含,text,的一行,I,NPUT,text,在當(dāng)前行,之后,添加一行,I,NPUT,刪除從第,m,到,n,行,DEL,m n,說(shuō)明,命令,例:在SQL*PLUS中,編,編輯SQL緩,沖,沖區(qū)中,的,的SQL語(yǔ)句,。,。,顯示結(jié),果,果:,SQL SELECTdeptno,dname,2FROMdept;,DEPTNODNAME,-,10ACCOUNTING,20RESEARCH,30SALES,40OPERAT
10、IONS,問(wèn)題:,增,增加一,列,列查詢,信,信息,不重新,輸,輸入,SQL,語(yǔ),語(yǔ)句,,如,如何實(shí),現(xiàn),現(xiàn)?,SQL L1,1*deptno,dname,SQLA,loc,1*deptno,dname,loc,顯示結(jié),果,果:,SQL L,1SELECTdeptno,dname,loc,2*FROM dept,SQL/,DEPTNODNAMELOC,-,10ACCOUNTINGNEWYORK,20,RES,EARCHDALLAS,30SALESCHICAGO,40OPERATIONSBOSTON,5.2.3,文,文件操,作,作命令,通常,,將,將經(jīng)常,執(zhí),執(zhí)行的SQL*Plus命,令,令、S
11、QL,語(yǔ),語(yǔ)句和PL/SQL,程,程序存儲(chǔ)到SQL,腳,腳本文,件,件(以.sql為后,綴,綴)中,,,,然后,執(zhí),執(zhí)行SQL腳,本,本文件,。,。,使用腳,本,本文件,的,的好處:,可以降,低,低命令,輸,輸入量,;,;,可以避,免,免輸入,錯(cuò),錯(cuò)誤。,腳本文,件,件的創(chuàng),建,建,SAVEfilename,CREATE,|,REP,LACE|APPEND,腳本文,件,件的裝,載,載與編,輯,輯,GETfilename,LIST,|NOLIST,默認(rèn)路,徑,徑是BIN,腳本文,件,件的執(zhí),行,行,START filename,filename,腳本文,件,件的注,釋,釋,REMARK,:?jiǎn)涡?
12、注,注釋,,放,放在一,行,行語(yǔ)句,的,的頭部,,,,表示,該,該行為,注,注釋。,-:,單,單行注,釋,釋。,/*,*/,:,:多行,注,注釋。,例:,SQL SELECTempno,ename,sal,2FROMemp,3WHEREempno=7844;,SQLSAV d:ora_,已創(chuàng)建file d:ora_codesqlscript.sql,SQLCLEARBUFFER,buffer已清除,SQLINPUT,1COLUMN salHEADING salary,2 SELECT empno,ename,sal,3 FROM emp,4 WHERE empno=7844,5,SQLSAV
13、d:ora_codeiscript.sql,已創(chuàng)建file d:ora_codeiscript.sql,把SQL*Plus命,令,令送入緩沖,區(qū),區(qū),SQLGET d:ora_codesqlscript.sql,SQLd:ora_codesqlscript.sql,RUNor/,?,注意:包含了,SQL*Plus命令,的,的緩沖,區(qū),內(nèi)容無(wú)法執(zhí)行,只能通過(guò),腳本文件的執(zhí)行,命,命令來(lái)執(zhí)行!,常用文件命,令,令:,打開(kāi)默認(rèn)編輯器(Windows中是notepad.exe),把,緩沖區(qū)中最后一條SQL語(yǔ)句,調(diào)入進(jìn)行編輯,ED,IT,把屏幕中的操作及執(zhí)行結(jié)果“假脫機(jī)”,即保存到磁盤文件上,默認(rèn)文件擴(kuò)
14、展名為,.lst,SPO,OL,filename,APPEND,顯示當(dāng)前的“假脫機(jī)”狀態(tài),SPO,OL,把當(dāng)前目錄中指定的.sql文件調(diào)入編輯器進(jìn)行編輯,ED,IT,filename,運(yùn)行調(diào)入內(nèi)存的sql文件,和START一樣,filename,運(yùn)行調(diào)入內(nèi)存的sql文件,STA,RT,filename,調(diào)入存盤的sql文件到內(nèi)存,GET,filename,將緩沖區(qū)的內(nèi)容以文件方式存盤,缺省文件擴(kuò)展名為.sql,如果使用APPEND則向一個(gè)已存在的文件追加內(nèi)容,如果使用REPLACE則是覆蓋一個(gè)已經(jīng)存在的文件,SAV,E,filename,CREATE|REPLACE|,APPEND,說(shuō)明,命令
15、,退出SQL*PLUS,EXIT,停止輸出并將結(jié)果送到系統(tǒng)打印機(jī),SPO,OL OUT,停止輸出,SPO,OL OFF,說(shuō)明,命令,例:,SPO d:ora_codeoutputfile.txt,SELECT empno,ename,sal,FROMemp,WHEREsal=1500;,SPO OFF,SPO d:ora_codeoutputfile.txtAPPEND,SELECT empno,ename,sal,FROMemp,WHEREsal=3000;,SPO OFF,注意:只有SPO OFF后,才會(huì)把屏,幕,幕輸出,內(nèi)容寫入文件!,5.2.4,交,交互式命,令,令,替換變量,使用替換
16、變,量,量&variable_name,例:,注意:替換變量,為,為,數(shù)值類型,時(shí),可以直接引用;如果為,字符型,或,日期型,,則需將替,換,換變量用單引號(hào)引起,來(lái),來(lái)。,不希望每次,執(zhí),執(zhí)行時(shí)都為,替,替換變量賦,值,值,可以使,用,用兩個(gè)“&,”,”。,例:,SQLSELECTempno,ename,2 FROM emp,3 WHERE deptno=,SQLSELECTempno,ename,2 FROM emp,3 WHERE deptno=,SQLSELECTempno,ename,2 FROM emp,3 WHERE deptno=,注意:此時(shí),只,需,需賦值一次,,,,可,在當(dāng)前SQL*Plus環(huán)境,中,中一直,使用!,DEFINE命令定義,替,替換變量,使用DEFINE命令,為,為當(dāng)前SQL*Plus環(huán)境定義CHAR類,型,型的替換變量,,,,語(yǔ)法:,DEFINEvariable_name=,value,例:,ACCEPT命令定義,替,替換變量,可以自定義,提,提示信息,,以,以提示用戶,為,為替換變量,輸,輸入值。語(yǔ),法,法:,ACCEPTvariable datat