Back

ORACLE DB SQL*PLUS 명령어 정리

ORACLE DB SQL*PLUS 명령어

ORACLE DB SQL*PLUS 명령어 정리

SQL*PLUS 명령어

SQL 명령어를 간단하게 편집, 저장, 실행, 결과 보기 등 제공

LIST # L

SQL 버퍼에 있는 쿼리를 출력

맨 마지막으로 실행한 SQL 쿼리가 버퍼에 저장됨

SQL> select to_number('1444') + 1 from dual;

TO_NUMBER('1444')+1
-------------------
               1445

SQL> l
  1* select to_number('1444') + 1 from dual

SQL> select empno, ename, sal
  2  from emp
  3  where deptno = 20;

     EMPNO ENAME             SAL
---------- ---------- ----------
      7369 SMITH             800
      7566 JONES            2975
      7788 SCOTT            3000
      7876 ADAMS            1100
      7902 FORD             3000

SQL> l
  1  select empno, ename, sal
  2  from emp
  3* where deptno = 20
SQL> l 2
  2* from emp
SQL> l 2 3
  2  from emp
  3* where deptno = 20

RUN # R, /

버퍼에 저장된 쿼리 실행

SQL> l
  1  select empno, ename, sal
  2  from emp
  3* where deptno = 20

SQL> r
  1  select empno, ename, sal
  2  from emp
  3* where deptno = 20

     EMPNO ENAME             SAL
---------- ---------- ----------
      7369 SMITH             800
      7566 JONES            2975
      7788 SCOTT            3000
      7876 ADAMS            1100
      7902 FORD             3000

SQL> /

     EMPNO ENAME             SAL
---------- ---------- ----------
      7369 SMITH             800
      7566 JONES            2975
      7788 SCOTT            3000
      7876 ADAMS            1100
      7902 FORD             3000

SAVE

버퍼에 있는 쿼리를 파일로 저장

SQL> select 1+4 from dual;

       1+4
----------
         5

SQL> save example1
file example1.sql() 생성되었습니다

GET

파일의 명령어를 SQL 버퍼로 불러옴

SQL> get example1
  1* select 1+4 from dual

SQL> l
  1* select 1+4 from dual

START # START, @

파일의 명령어를 실행

SQL> start example1

       1+4
----------
         5

SQL> @ example1

       1+4
----------
         5

EDIT # ED [파일명]

버퍼에 있는 쿼리를 임시파일에 저장하고 편집기로 열어줌

뒤에 파일명을 명시하면 빈 내용의 새 파일을 만듬 (편집 종료해도 버퍼로 안불러옴)

SQL> l
  1* select 6+9 from dual
SQL> ed
file afiedt.buf() 기록되었습니다

  1* select 16+19 from dual
SQL> l
  1* select 16+19 from dual

HOST

SQL*PLUS 내에서 Shell 열어줌

돌아올 때는 exit

SQL> host
sh-4.2# pwd
/root
sh-4.2# ls -l
total 12
-rw-r--r-- 1 root root 25 Apr 17 04:31 afiedt.buf
-rw-r--r-- 1 root root 23 Apr 17 04:24 example1.sql
-rw-r--r-- 1 root root 35 Apr 17 04:33 example2.sql
sh-4.2# exit
exit

SQL>

I

현재 행의 다음 행에 문자열 삽입

SQL> l
  1  select empno, ename, job
  2  from emp
  3* where deptno = 10
SQL> 2
  2* from emp
SQL> 1
  1* select empno, ename, job
SQL> l
  1  select empno, ename, job
  2  from emp
  3* where deptno = 10
SQL> i and job = 'CLERK'           # 현재 행의 다음행에 and job = 'CLERK' 삽입
SQL> l
  1  select empno, ename, job
  2  from emp
  3  where deptno = 10
  4* and job = 'CLERK'

A

현재 행의 끝에 문자열 추가

SQL> l
  1  select empno, ename, job
  2  from emp
  3  where deptno = 10
  4* and job = 'CLERK'
SQL> 1
  1* select empno, ename, job
SQL> a , sal                          # 현재 행의 끝에 , sal 추가
  1* select empno, ename, job, sal
SQL> r
  1  select empno, ename, job, sal
  2  from emp
  3  where deptno = 10
  4* and job = 'CLERK'

     EMPNO ENAME      JOB              SAL
---------- ---------- --------- ----------
      7934 MILLER     CLERK           1300

DEL

행 삭제

del : 현재 행 삭제

del n : n번째 행 삭제

del n1 n2 : n1부터 n2까지의 행 삭제

SQL> l
  1  select empno, ename, job, sal
  2  from emp
  3  where deptno = 10
  4* and job = 'CLERK'
SQL> del                             # 현재  삭제
SQL> l
  1  select empno, ename, job, sal
  2  from emp
  3* where deptno = 10

SQL> i and job = 'CLERK'
SQL> l
  1  select empno, ename, job, sal
  2  from emp
  3  where deptno = 10
  4* and job = 'CLERK'
SQL> del 3                           # 3 삭제
SQL> l
  1  select empno, ename, job, sal
  2  from emp
  3* and job = 'CLERK'

SQL> del 2 3                         # 2~3  삭제
SQL> l
  1* select empno, ename, job, sal

CHANGE # C

현재 행의 문자열을 교체

SQL> l
  1  select empno, ename, job, sal
  2  from emp
  3* where deptno = 20
SQL> 1
  1* select empno, ename, job, sal
SQL> c/job/deptno                             # 문자열 변경
  1* select empno, ename, deptno, sal
SQL> l
  1  select empno, ename, deptno, sal
  2  from emp
  3* where deptno = 20

{n} {문자열}

n 번째 행을 해당 문자열로 교체

n이 0이면 첫번째 행 앞에 문자열 삽입

SQL> l
  1  select empno, ename, deptno, sal
  2  from emp
  3* where deptno = 20
SQL> 3 where sal >= 2000     # 3 내용 교체
SQL> l
  1  select empno, ename, deptno, sal
  2  from emp
  3* where sal >= 2000

SQL> del 1
SQL> l
  1  from emp
  2* where sal >= 2000
SQL> 0 select ename          # 첫번째 줄에 내용 삽입
SQL> l
  1  select ename
  2  from emp
  3* where sal >= 2000

CLEAR SCREEN # CL SCR

화면 내용 모두 삭제

CLEAR BUFFER # CL BUFF

버퍼 모두 삭제

SPOOL {파일명}

지금부터 작업 내용을 모두 파일로 저장

중지: spool off

sh-4.2# cat output.txt
SQL> select ename
  2  from emp
  3  where sal >= 3000;

ENAME
----------
KING
FORD

SQL> 1
  1* select ename
SQL> c/ename/sal
  1* select sal
SQL> r
  1  select sal
  2  from emp
  3* where sal >= 3000

       SAL
----------
      5000
      3000

SQL> spool off
Built with Hugo
Theme Stack designed by Jimmy