행위

Sqlplus

DB CAFE

SQL PLUS 사용법(Oracle)

1.DB를 사용하기위해 ORACLE로 LOGIN 방법 가. SQLPLUS [Enter]

User ID : xxxxxx 
password : xxxxxxxx

나. SQLPLUS user_id [Enter]

SQLPLUS user_id [Enter] 
password : xxxxxxxx

다. SQLPLUS user_id/password [Enter]

SQLPLUS user_id/password [Enter]

※ 다. 와 같은 방법으로 Login 하게 되면 사용자명과 암호가 노출된다 그러므로 가장좋은 방법은 가, 그리고 나. 이다

2. SQLPLUS 상에서는 Auto Commit이 안된다. 그러므로 중간 중간 " COMMIT "를 수행한다.

3. SQL 문장의 Terminate 는 ==> “ ; ”

4. 한 화면씩 보여주는 기능

> set pause on; (설정) 
set pause off; (해제)

※ 설정을 하고나서 SQL 명령을 수행하면 커서가 그 다음 LINE에서 대기하고 있으므로 [Enter] Key를 친다. 그 다음부터는 Enter키로 한화면씩 보면 됨

5. SQL 명령어를 모를 경우 ?

> help [명령어]

6. Unix Shell 명령어를 사용하기 위해서는 ?

> ! 를 붙여 사용한다.

7. 바로전에 실행한 SQL문을 FILE로 저장하려면 ?

> “ save ”

8. 파일의 내용을 메모리로 불러오려면 ?

> get  를 붙여 사용한다.

9. 메모리로 불러온 SQL문이나 메모리에 있는 명령을 실행 하려면 ?

>  /  를 붙여 사용한다.

10. 바로 전에 수행한 명령어를 편집하려면 ?

>  ed  를 붙여 사용한다.

11. 바로 전에 수행한 명령어 보려면 ?

> l 를 붙여 사용한다.

12. SQL문이 있는 FIle을 바로 실행하려면 ?

> “ @ ” 또는 " Start " 를 붙여 사용한다.

13. Columns 명을 나타내지 않는다.

> set heading off / on

</source> 14.한번에 DATA를 가져오는 단위

set arraysize line_number(숫자);

15. sql문을 수행하는데 소요되는 시간을 나타내어 준다.

> set timing on / off

16. sqlplus 프롬프트 변경

SET sqlprompt "_USER'@'_CONNECT_IDENTIFIER SQL> "

-. DB에 접속                     : CONN
-. 파일 편집 및 실행          : EDIT, START
-. 환경 설정                      : SET
-. 표시 형식                      : COLUMN
-. 변수 사용                      : &, ACCEPT
-. 기타                              : DESC, HELP

  • 버퍼에 있는 명령어 편집

A : 라인끝에 텍스트를 추가함 C/old/new : old 를 new로 바꿈 I text : 다음 line 에 text를 추가함 L : 전체 문자을 보여줌 n text : n라인 전체를 text로 바꿈 R : buffer에 있는 문장 실행 edit : buffer에 있는 문장을 file로 부름

  • SQL문장을 파일로 저장, 저장된 명령어를 실행할수 있는 sqlplus명령어
save a : 버퍼에있는 문장을 a.sql 파일에 저장
get a : a.sql 파일에 있는 문장을 버퍼로 불러옴
start a : a를 실행
host shell : 호스트 쉘로 나감
!vi a.sql : unix인경우에 a.sql.을 vi 로 편집
  • set (환경설정)
colsep (text) : 칼럼이 표시될때 칼럼의 구별문자 기본값 공백
feedback (off | on) : 선택된 행이 몇 행인지 표시함 기본값은 6행이상일때 on
heading (off | on) : 컬럼에 대한 heading을 표시함 기본값은 on
linesize (n) : 한줄에 표시될 텍스트숫자 기본값80
pages (n) : 한페이지당 표시되는 라인수 기본값 24
paues (on | off | text) : 엔터키를 누를때마다 화면이 지나감 기본값은 off
timing (on | off) : sql문장이 처리되는 시간을 표시 기본값은 off
verify (on | off) : & 변수로 값을 받을 경우 화면에 확인하기 위해 old,new를 표시할 것인지 기본값은  on
show all : 환경이 어떻게 설정 되었는가 확인

* 항상 로그인시 같은 환경을 유지하고 싶을경우 glogin.sql파일에 set 으로 설정
desc 테이블 구조
help topic 도움말
라인의 가로사이즈는 linesize를 늘려서 조정하시면 되고 
조회된 로우수가 20행정도인데... 10개정도씩 컬럼명이 반복된다면 
pagesize를 늘려주시면 됩니다. Default값을 알고 계시다면 
<source lang=sql>
SQL> set linesize 180 
SQL> set pagesize 30
sql > column 컬럼명 format a10

이렇게 하면 표시되는 컬럼에 대한 사이즈를 조절 할 수 있습니다. 현재 TITEMID의 내용은 짧은데 자리를 많이 차지하고 있죠? 이럴경우

sql> column TITEMID format a10 -- 이렇게 하면 10자리만큼만 차지하게 됩니다.
varchar type이면 col 컬럼명 format a20 --> 20으로 열너비조정
number라면 col 컬럼명 format 999,999 --> 9하나가 한자리
set heading off -> 컬럼의 heading..그러니깐 name, value..이런게 계속 나오지 않게..하려면 이걸 쓰죠..
spool on 또는 spool path+파일명

->이렇게 하면 쿼리 결과를 파일로 저장할 수 있죠.

SQL> spool on
SQL> select * from product_component_version;
NLSRTL                         3.4.1.0.0       Production
Oracle8i Enterprise Edition    8.1.7.4.0       Production
PL/SQL                         8.1.7.4.0       Production
TNS for HPUX:                  8.1.7.4.0       Production
SQL> spool off
SQL> !ls
LOCK          TOOL          app           jre           nohup.out     oui           tempwork
STC           admin         doc           led.sh        on.lst        script        test.sql
Script        afiedt.buf    hiraScript    led_test.sql  oraInventory  temp.sql
SQL> !vi on.lst
"on.lst" 8 lines, 387 characters 
SQL> select * from product_component_version;
NLSRTL                         3.4.1.0.0       Production
Oracle8i Enterprise Edition    8.1.7.4.0       Production
PL/SQL                         8.1.7.4.0       Production
TNS for HPUX:                  8.1.7.4.0       Production
SQL> spool off

set pause on 하면 한 페이지씩 볼 수 있죠.

SQL> help index
 ACCEPT        DBA          PAUSE            /
 APPEND        DEFINE       PRINT            SPOOL
 @             DEL          PROMPT           SQLPLUS
 @@            DESCRIBE     QUIT             START
 ARCHIVE LOG   DISCONNECT   RECOVER          STARTUP
 ATTRIBUTE     EDIT         REMARK           STORE
 BREAK         EXECUTE      REPFOOTER        TIMING
 BTITLE        EXIT         REPHEADER        TTITLE
 CHANGE        GET          RESERVED WORDS   UNDEFINE
 CLEAR         HELP         RUN              VARIABLE
 COLUMN        HOST         SAVE             WHENEVER OSERROR
 COMPUTE       INPUT        SET              WHENEVER SQLERROR
 CONNECT       LIST         SHOW
 COPY          PASSWORD     SHUTDOWN


SQL> help column
 COLUMN
 ------
 Specifies display attributes for a given column, such as:
     -   text for the column heading
     -   alignment of the column heading
     -   format for NUMBER data
     -   wrapping of column data
 Also lists the current display attributes for a single column
 or all columns.
 COL[UMN] [{column | expr} [option...] ]
 where option represents one of the following clauses:
     ALI[AS] alias
     CLE[AR]
     FOLD_A[FTER]
     FOLD_B[EFORE]
     FOR[MAT] format
     HEA[DING] text
     JUS[TIFY] {L[EFT] | C[ENTER] | C[ENTRE] | R[IGHT]}
     LIKE {expr | alias}
     NEWL[INE]
     NEW_V[ALUE] variable
     NOPRI[NT] | PRI[NT]
     NUL[L] text
     OLD_V[ALUE] variable
     ON|OFF
     WRA[PPED] | WOR[D_WRAPPED] | TRU[NCATED]
 For detailed information on this command, see the SQL*Plus User's
 Guide and Reference.
SQL> show all
appinfo is ON and set to "SQL*Plus"
arraysize 15