文章詳情頁(yè)
Oracle的SQL*PLUS命令的使用大全
瀏覽:94日期:2023-11-26 18:22:08
Oracle的sql*plus是與oracle進(jìn)行交互的客戶端工具。在sql*plus中,可以運(yùn)行sql*plus命令與sql*plus語(yǔ)句。我們通常所說(shuō)的DML、DDL、DCL語(yǔ)句都是sql*plus語(yǔ)句,它們執(zhí)行完后,都可以保存在一個(gè)被稱為sql buffer的內(nèi)存區(qū)域中,并且只能保存一條最近執(zhí)行的sql語(yǔ)句,我們可以對(duì)保存在sql buffer中的sql 語(yǔ)句進(jìn)行修改,然后再次執(zhí)行,sql*plus一般都與數(shù)據(jù)庫(kù)打交道。除了sql*plus語(yǔ)句,在sql*plus中執(zhí)行的其它語(yǔ)句我們稱之為sql*plus命令。它們執(zhí)行完后,不保存在sql buffer的內(nèi)存區(qū)域中,它們一般用來(lái)對(duì)輸出的結(jié)果進(jìn)行格式化顯示,以便于制作報(bào)表。下面就介紹一下一些常用的sql*plus命令:1. 執(zhí)行一個(gè)SQL腳本文件SQL>start file_nameSQL>@ file_name我們可以將多條sql語(yǔ)句保存在一個(gè)文本文件中,這樣當(dāng)要執(zhí)行這個(gè)文件中的所有的sql語(yǔ)句時(shí),用上面的任一命令即可,這類似于dos中的批處理。2. 對(duì)當(dāng)前的輸入進(jìn)行編輯SQL>edit3. 重新運(yùn)行上一次運(yùn)行的sql語(yǔ)句SQL>/4. 將顯示的內(nèi)容輸出到指定文件SQL> SPOOL file_name在屏幕上的所有內(nèi)容都包含在該文件中,包括你輸入的sql語(yǔ)句。5. 關(guān)閉spool輸出SQL> SPOOL OFF只有關(guān)閉spool輸出,才會(huì)在輸出文件中看到輸出的內(nèi)容。6.顯示一個(gè)表的結(jié)構(gòu)SQL> desc table_name7. COL命令:主要格式化列的顯示形式。該命令有許多選項(xiàng),具體如下:COL[UMN] [{ columneXPr} [ option ...]]Option選項(xiàng)可以是如下的子句:ALI[AS] aliasCLE[AR]FOLD_A[FTER]FOLD_B[EFORE]FOR[MAT] formatHEA[DING] textJUS[TIFY] {L[EFT]C[ENTER]C[ENTRE]R[IGHT]}LIKE { expralias}NEWL[INE]NEW_V[ALUE] variableNOPRI[NT]PRI[NT]NUL[L] textOLD_V[ALUE] variableONOFFWRA[PPED]WOR[D_WRAPPED]TRU[NCATED]1). 改變?nèi)笔〉牧袠?biāo)題COLUMN column_name HEADING column_headingFor example:Sql>select * from dept;DEPTNO DNAMELOC---------- ---------------------------- ---------10 ACCOUNTING NEW YORKsql>col LOC heading locationsql>select * from dept;DEPTNO DNAMElocation--------- ---------------------------- -----------10 ACCOUNTING NEW YORK2). 將列名ENAME改為新列名EMPLOYEE NAME并將新列名放在兩行上:Sql>select * from empDepartment name Salary---------- ---------- ----------10 aaa11SQL> COLUMN ENAME HEADING ’EmployeeName’Sql>select * from empEmployeeDepartment name Salary---------- ---------- ----------10 aaa11note: the col heading turn into two lines from one line.3). 改變列的顯示長(zhǎng)度:FOR[MAT] formatSql>select empno,ename,job from emp;EMPNO ENAME JOB---------- ---------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMANSql> col ename format a40EMPNO ENAMEJOB---------- ---------------------------------------- ---------7369 SMITHCLERK7499 ALLENSALESMAN7521 WARDSALESMAN4). 設(shè)置列標(biāo)題的對(duì)齊方式JUS[TIFY] {L[EFT]C[ENTER]C[ENTRE]R[IGHT]} SQL> col ename justify centerSQL> /EMPNO ENAME JOB---------- ---------------------------------------- ---------7369 SMITHCLERK7499 ALLENSALESMAN7521 WARD SALESMAN對(duì)于NUMBER型的列,列標(biāo)題缺省在右邊,其它類型的列標(biāo)題缺省在左邊5). 不讓一個(gè)列顯示在屏幕上NOPRI[NT]PRI[NT]SQL> col job noprintSQL> /EMPNO ENAME---------- ----------------------------------------7369 SMITH7499 ALLEN7521 WARD6). 格式化NUMBER類型列的顯示:SQL> COLUMN SAL FORMAT $99,990SQL> /EmployeeDepartment NameSalaryCommission---------- ---------- --------- ----------30 ALLEN$1,6003007). 顯示列值時(shí),假如列值為NULL值,用text值代替NULL值COMM NUL[L] textSQL>COL COMM NUL[L] text8). 設(shè)置一個(gè)列的回繞方式WRA[PPED]WOR[D_WRAPPED]TRU[NCATED]COL1--------------------HOW ARE YOU?SQL>COL COL1 FORMAT A5SQL>COL COL1 WRAPPEDCOL1-----HOW ARE YOU?SQL> COL COL1 Word_WRAPPEDCOL1-----HOWAREYOU?SQL> COL COL1 WORD_WRAPPEDCOL1-----HOW A9). 顯示列的當(dāng)前的顯示屬性值SQL> COLUMN column_name10). 將所有列的顯示屬性設(shè)為缺省值SQL> CLEAR COLUMNS8. 屏蔽掉一個(gè)列中顯示的相同的值BREAK ON break_columnSQL> BREAK ON DEPTNOSQL> SELECT DEPTNO, ENAME, SALFROM EMPWHERE SAL < 2500ORDER BY DEPTNO;DEPTNO ENAME SAL---------- ----------- ---------10 CLARK2450MILLER 130020SMITH 800ADAMS 11009. 在上面屏蔽掉一個(gè)列中顯示的相同的值的顯示中,每當(dāng)列值變化時(shí)在值變化之前插入n個(gè)空行。BREAK ON break_column SKIP nSQL> BREAK ON DEPTNO SKIP 1SQL> /DEPTNO ENAME SAL---------- ----------- ---------10 CLARK 2450MILLER 130020 SMITH 800ADAMS 110010. 顯示對(duì)BREAK的設(shè)置SQL> BREAK11. 刪除6、7的設(shè)置SQL> CLEAR BREAKS12. Set 命令:該命令包含許多子命令:SET system_variable valuesystem_variable value 可以是如下的子句之一:APPI[NFO]{ONOFFtext}ARRAY[SIZE] {15n}AUTO[COMMIT]{ONOFFIMM[EDIATE]n}AUTOP[RINT] {ONOFF}AUTORECOVERY [ONOFF]AUTOT[RACE] {ONOFFTRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]BLO[CKTERMINATOR] {.c}CMDS[EP] {;cONOFF}COLSEP {_text}COM[PATIBILITY]{V7V8NATIVE}CON[CAT] {.cONOFF}COPYC[OMMIT] {0n}COPYTYPECHECK {ONOFF}DEF[INE] {&cONOFF}DESCRIBE [DEPTH {1nALL}][LINENUM {ONOFF}][INDENT {ONOFF}]ECHO {ONOFF}EDITF[ILE] file_name[.ext]EMB[EDDED] {ONOFF}ESC[APE] {cONOFF}FEED[BACK] {6nONOFF}FLAGGER {OFFENTRY INTERMED[IATE]FULL}FLU[SH] {ONOFF}HEA[DING] {ONOFF}HEADS[EP] {cONOFF} INSTANCE [instance_pathLOCAL]LIN[ESIZE] {80n}LOBOF[FSET] {n1}LOGSOURCE [pathname]LONG {80n}LONGC[HUNKSIZE] {80n}MARK[UP] Html [ONOFF] [HEAD text] [BODY text] [ENTMAP {ONOFF}] [SPOOL{ONOFF}] [PRE[FORMAT] {ONOFF}]NEWP[AGE] {1nNONE}NULL textNUMF[ORMAT] formatNUM[WIDTH] {10n}PAGES[IZE] {24n}PAU[SE] {ONOFFtext}RECSEP {WR[APPED]EA[CH]OFF}RECSEPCHAR {_c}SERVEROUT[PUT] {ONOFF} [SIZE n] [FOR[MAT] {WRA[PPED]WOR[D_WRAPPED]TRU[NCATED]}]SHIFT[INOUT] {VIS[IBLE]INV[ISIBLE]}SHOW[MODE] {ONOFF}SQLBL[ANKLINES] {ONOFF}SQLC[ASE] {MIX[ED]LO[WER]UP[PER]}SQLCO[NTINUE] {> text}SQLN[UMBER] {ONOFF}SQLPRE[FIX] {#c}SQLP[ROMPT] {SQL>text}SQLT[ERMINATOR] {;cONOFF}SUF[FIX] {SQLtext}TAB {ONOFF}TERM[OUT] {ONOFF}TI[ME] {ONOFF}TIM
標(biāo)簽:
Oracle
數(shù)據(jù)庫(kù)
排行榜
