-
SQL Plus 명령어개념sql 2019. 3. 8. 17:50
SQL 문
SQL*Plus명령어
관계형 데이터베이스의 미국표준 협회 표준언어
SQL문을 실행할 수 있는 오라클의 툴
여러 줄 실행
한줄 실행
종결물자 필요
종결문자 불필요
연결 문자 불필요
연결문자(-) 필요
키워드 단축 불가
키워드 단축 기능
버퍼에 마지막 명령문 저장
버퍼에 저장하지 않음
SQL*Plus 명령어 중에서 자주 사용하는 명령어들은 다음과 같다.
명령어
기능
LIST, RUN, @ , /
편집 명령
SAVE, GET , EDIT, SPOOL
파일 명령
HOST,EXIT
데이터베이스 접속 및 종료
LINE, PAGE
출력형식
SQL*Plus 편집 명령
명령어의 버퍼를 나타내는 LIST명령어
설명
LIST(L)
버퍼에 저장된 모든 SQL문 또는 검색한 라인의 SQL문을 나타낸다.
/
SQL문을 보여주지 않고 바로 실행
RUN(R)
버퍼에 저장된 SQL문을 보여주고 실행한다.
123456789101112131415161718192021222324SQL> select ename , sal*12+NVL(comm,0)2 from emp;ENAME SAL*12+NVL(COMM,0)-------------------- ------------------SMITH 9600ALLEN 19500WARD 15500JONES 35700MARTIN 16400BLAKE 34200CLARK 29400SCOTT 36000KING 60000TURNER 18000ADAMS 13200ENAME SAL*12+NVL(COMM,0)-------------------- ------------------JAMES 11400FORD 36000MILLER 1560014 rows selected.cs 앞에 사용한 쿼리문을 다시한번 나타내기위해 LIST라는 명령어를 사용가능
축약어는 L
123SQL> L1 select ename , sal*12+NVL(comm,0)2* from empcs SQL 버퍼에 저장된 쿼리문을 실행하는 /
버퍼에 저장된 쿼리문을 실행시키기 위해서 '/'을 입력12345678910111213141516171819202122SQL> /ENAME SAL*12+NVL(COMM,0)-------------------- ------------------SMITH 9600ALLEN 19500WARD 15500JONES 35700MARTIN 16400BLAKE 34200CLARK 29400SCOTT 36000KING 60000TURNER 18000ADAMS 13200ENAME SAL*12+NVL(COMM,0)-------------------- ------------------JAMES 11400FORD 36000MILLER 15600cs SQL 버퍼 내의 내용을 보여주고 실행하는 RUN (R)
12345678910111213141516171819202122232425SQL> R1 select ename , sal*12+NVL(comm,0)2* from empENAME SAL*12+NVL(COMM,0)-------------------- ------------------SMITH 9600ALLEN 19500WARD 15500JONES 35700MARTIN 16400BLAKE 34200CLARK 29400SCOTT 36000KING 60000TURNER 18000ADAMS 13200ENAME SAL*12+NVL(COMM,0)-------------------- ------------------JAMES 11400FORD 36000MILLER 1560014 rows selected.cs RUN은 LIST와 /을 합친것 같은거
03 SQL Plus 파일명령어
명령어(약어)
설명
EDIT(ED)
파일의 내용을 vi(유닉스)나 notepad(윈도우)와 같은 에디터로 읽어 편집할 수 있도록 한다.
HOST
오라클을 종료하지 않고 OS 명령을 수행 할 수있도록 OS환경으로 잠시 빠져나갈 수있도록한다.
OS프롬프트 상에서 Exit하면 다시 오라클 환경으로 돌아옴
SAVE
SQL 버퍼 내의 현재 내용을 실제 파일로 저장한다.
@
SQL 파일에 저장된 내용을 실행한다.
SPOOL
오라클 화면을 갈무리하여 파일로 저장한다.
GET
파일의 내용을 SQL 버퍼로 읽어들인다.
EXIT
오라클을 종료함
01 파일에 내용을 메모장에서 편집하게 하는 EDIT(ED)
ED를 입력하면 메모장이 열리면서 마지막에 있는 SQL문이 출력된다.수정하고 저장하면수정한 명령어가 버퍼에 저장된다.02 DOS 프롬프트에 나가게 하는 HOST
host를 하고 dir로 확인하면 버퍼가 저장되는 파일이 있는것을 확인할 수 잇다exit로 다시 sql 프롬프트로 돌아옴03 사용자가 현재 사용중인 쿼리문을 저장하는 SAVE
자주사용한는 쿼리문은 파일에 저장해두었다가 사용하는 거싱 효울적이다가장 최근에한 쿼리문을 파일로 저장할 수 잇게 하는 SAVE 명령어를 제공SQL> save tempSP2-0540: File "temp.sql" already exists.Use "SAVE filename[.ext] REPLACE".SQL> save temp replaceWrote file temp.sqlSQL> ed temp이미 저장된 파일을 대신하려면 replace를 사용한다.추가하려면 append를 사용한다.
SQL> save temp append
Appended file to temp.sql
SQL> ed temp
04 SQL파일에 저장된 명령어를 실행하는 @
@(sql파일명)05 갈무리 기능을 하는 SPOOL
SAVE는 SQL 문 자체를 저장하는 명령어SPOOL은 실행된 쿼리의 결과를 파일로 기록하는 명령어화면에 보이는 내용 전체를 갈무리해서 하나의 파일로 만든다.SPOOL 파일이름SQL> select * from dept;DEPTNO DNAME LOC---------- ---------------------------- --------------------------10 ACCOUNTING NEW YORK20 RESEARCH DALLAS30 SALES CHICAGO40 OPERATIONS BOSTONSQL> select * from emp;EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO---------- -------------------- ------------------ ---------- -------- ---------- ---------- ----------7369 SMITH CLERK 7902 19/03/04 800 207499 ALLEN SALESMAN 7698 19/03/04 1600 300 307521 WARD SALESMAN 7698 19/03/04 1250 500 307566 JONES MANAGER 7839 19/03/04 2975 207654 MARTIN SALESMAN 7698 19/03/04 1250 1400 307698 BLAKE MANAGER 7839 19/03/04 2850 307782 CLARK MANAGER 7839 19/03/04 2450 107788 SCOTT ANALYST 7566 19/03/04 3000 207839 KING PRESIDENT 19/03/04 5000 107844 TURNER SALESMAN 7698 19/03/04 1500 0 307876 ADAMS CLERK 7788 19/03/04 1100 20EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO---------- -------------------- ------------------ ---------- -------- ---------- ---------- ----------7900 JAMES CLERK 7698 19/03/04 950 307902 FORD ANALYST 7566 19/03/04 3000 207934 MILLER CLERK 7782 19/03/04 1300 1014 rows selected.SQL> spool offspool off 를 안하면 갈무리가 저장이 안된다.그리고 불러올때 확장자명 LST 를 써줘야한다.sql파일처럼 내용을 실행은 불가능하다.06 저장한 명령어를 가져오는 GET
GET 파일이름/는 버퍼에 저장된 쿼리문을 실행sql 파일을 실행하려면 GET으로 실행12345678910111213141516171819202122232425262728SQL> Get A0011 select ename , sal*12+NVL(COMM,0) AS 연봉2* from empSQL> /ENAME 연봉-------------------- ----------SMITH 9600ALLEN 19500WARD 15500JONES 35700MARTIN 16400BLAKE 34200CLARK 29400SCOTT 36000KING 60000TURNER 18000ADAMS 13200ENAME 연봉-------------------- ----------JAMES 11400FORD 36000MILLER 1560014 rows selected.SQL>cs 불러온후 /나 RUN으로 실행
04 시스템 변수 조작을 위한 SET 명령어