SQL과 명령어 비교

SQL 명령문 SQL*PLUS명령어
관계형 데이터베이스의 표준언어 SQL명령문의 실행 환경을 제공하는 오라클사의 소프트웨어 툴
키워드 단축 불가 키워드 단축 가능
테이블에 저장된 데이터 조작 가능 데이터베이스 내의 데이터 조작 불가능
하나 이상의 라인이 SQL 버퍼에 저장 한 번에 한 라인씩 입력하고 SQL버퍼에 저장되지 않음
연속 문자가 없음 명령어가 한 라인보다 길어지면 연속 문자인 하이픈(-)을 사용
명령문 실행을 위해 종료 문자(;)사용 종료 문자가 필요 없고 입력 즉시 실행
함수에 의해 데이터 출력 형식 지정 명령어에 의해 데이터 출력형식 지정

 

SQL*PLUS 명령어의 유형별 기능과 자주 사용하는 명령어

유 형 유형별 처리 기능과 SQL*PLUS 명령어 예
환 경  SQL명령문의 출력 환경을 지정
ECHO, FEED[BACK], LINE[SIZE], PAGE[SIZE]
형 식 검색 결과에 대한 보고서 형태의 출력 형식 설정
COLUMN, TPOSITION, SPOSITION, BREAK
파일조작 스크립트 파일의 저장, 적재, 실행 기능
SAVE, GET, START, EDIT, SPOOL
실 행 SQL명령문 또는 PL/SQL 블록을 오라클 서버에 전송
START, RUN, @, /
편 집 버퍼에 저장된 SQL 명령문의 편집 기능
A[APPEND], C[CHANGE], DEL, I[INPUT], L[LIST]
상호작용 변수 작성, 변수 값 및 메세지 출력 기능
&, &&, DEFINE, UNDEFINE, ACCEPT
기 타 환경 설정과 오라클 데이터베이스 접속 또는 종료
HOST, EXIT, CONNECT, !

 

 

SQL*PLUS 사용 환경 명령어

SQL 명령문의 실행 결과를 사용자가 효과적으로 확인할 수 있는 여러 가지 시스템 환경을 제어하기 위한 명령어

명령문은 세션 종료나 환경 설정을 변경, 삭제할 때까지 혹은 세션 사용자가 SQL*PLUS툴로 로그인해서 로그 아웃(EXIT)할 때까지 유지된다.

 

SET 명령어

현재 작업중인 세션의 환경을 제어하기 위한 시스템 변수 설정

 

사용법

SET SYSTEM_VARIABLE VALUE

system_variable:SQL 명령문의 실행 결과를 제어하기 위한 시스템 변수

value : 시스템 변수별로 지정하는 옵션

 

 

SHOW 명령어

SQL > SHOW ALL

SQL > SHOW system_variable

All : 모든 시스템 변수 설정 값 확인

system_variable : 특정 시스템 변수의 설정 값 확인

 

 

시스템 변수

SQL 명령문의 실행 결과를 제어하기 위한 함수

AUTOCOMMIT : 삽입, 수정, 삭제와 같은 DML 명령묷의 처리 결과를 디스크에 영구적으 로 저장하기 위해 반드시 COMMIT 명령문의 실행 필요

SQL> INSERT INTO department values(301,‟제어계측학과‟,200,‟5호관‟);

FEEDBACK : SELECT 명령묷의 실행 결과를 표시하기 위하여 춗력 행의 수를 지정하는 변수

FEED[BACK] {6 | n | off | on}

 

HEADING : SELECT 명령묷의 실행 결과를 출력핛 때, 칼럼 제목의 출력 여부 를 제어하는 변수

HEADING {off | on}

 

LINESIZE : 한 화면에서 표시되는 SQL 명령문의 출력 결과에 대한 행의 크기를 설정하는 변수

LIN[LINESIZE] {80 | n}

기본 값은 80이며, 최대값은 시스템에 따라 차이가 남

 

PAGESIZE : 한 화면에서 표시되는 SQL 명령문의 실행 결과에 대한 페이지의 크기를 설정하는 변수

PAGES[SIZE] {14 | n}

기본 값은 14

 

PAUSE : SQL 명령문의 실행 결과를 한 화면에서 보기 힘든 경우, 한 페이 지씩 나누어 출력하기 위핚 변수

PAUSE {ON | OFF}

 

TERMOUT : SQL 명령문 실행 결과를 화면에 출력할 지 여부를 지정하기 위한 변수

TERM[OUT] {OFF | ON}

 

TIME : SQL 프롬프트 앞에 시스템의 현재 시갂을 함께 표시하도록 설정 하는 변수

TI[TIME] {OFF | ON}

 

TIMING : SQL 명령문을 실행하는데 소요된 시간을 출력하기 위한 변수

TIMING {OFF | ON}

 

UNDERLINE : 칼럼 제목과 데이터간의 구분 기호를 설정하기 위한 변수

UND[UNDERLINE] {- | C | OFF | ON}

 

 

 

SQL*Plus 형식 명령어의 개요

- SQL 명령문의 실행 결과에 대핚 칼럼 제목이나 데이터의 출력 형식을 변경하기 위한 명령어

 

COLUMN 명령어

- SQL 명령문의 실행 결과로 출력되는 칼럼 제목이나 칼럼 데이터 에 대한 출력 형식을 다양하게 지정하기 위한 명령어

COLUMN {COLUMN | ALIAS} [OPTION][FORMAT]

COLUMN 명령어 option

종류 의미
CLE[CLEAR] 칼럼 형식 해제
FOR[FORMAT] FORMAT 칼럼 데이터의 출력 형식 설정
HEA[HEADING] TEXT 칼럼 제목 설정, TEXT 내의 수직(|) 바는 칼럼 제목을 여러 줄로 출력할 경우 엔터 키의 역할
JUS[JUSTIFY] {ALIGN} 칼럼 제목을 왼쪽, 가운데 또는 오른쪽 정렬 지정
NOPRI[NOPRINT] 칼럼 숨기기
PRI[PRINT] 칼럼 출력하기
NUL[NULL] TEXT NULL 값에 대한 출력 문자 지정

칼럼 데이터에 대한 출력 형식 종류

종류 의미 사용예
An 문자형식 칼럼의 출력 크기를 n폭으로 설정 아래 사용예 참고
9 단일 zero-suppression(0 억제) 숫자 999999 > 1234
0 지정된 길이만큼 숫자 앞에 0을 추가 009999 > 001234
$ 숫자 앞에 달러 기호 삽입 $9999 > $1234
L 숫자 앞에 지역 화폐 단위 삽입 L9999 > \1234
. 소수점 위치 지정 999.99 > 1234.00
, 1000자리마다 ','구분자 삽입 9,999 > 1,234

 

칼럼에 대한 설정 내용 확인 및 해제하기 위한 옵션

종류 의미
COL[COLUMN] 특정 칼럼에 대한 현재 설정 값 출력
COL[COLUMN] 모든 칼럼에 대한 현재 설정 값 출력
COL[COLUMN] COLUMN CLE[CLEAR] 특정 칼럼에 대한 현재 설정 값 출력
CLE[CLEAR] COL[COLUMN] 모든 칼럼에 대한 현재 설정 값 해제

 

 

 

 

SQL*Plus 편집 명령어

- SQL*Plus 에서 최근에 실행된 SQL 명령문은 임시 기억공간인 SQL 버퍼에 저장

- SQL 버퍼에 저장된 명령문을 SQL*Plus 편집 명령으로 편집 가능

명령어 축약어 기능
APPEND text A text SQL 버퍼의 현재 라인 끝에 text 추가
CHANGE/old/new C/old/new 현재 라인 old text를 new text로 변경
CHANGE/text/ C/text/ 현재 라인에서 text 삭제
CLEAR BUFFER CL BUFF 모든 라인 삭제
DEL (없음) 현재 라인 삭제
DEL n (없음) n 번째 라인 삭제
DEL m n (없음) m 번째 라인부터 n 라인까지 삭제

 

 

SQL*Plus 편집 명령어

명령어 축약어 기능
INPUT I 현재 라인 다음에 추가
INPUT text I text 현재 라인 다음에 text 추가
LIST L 모든 라인 출력
LIST n L n n 번째 라인의 text 출력
LIST m n L m n m 번째 라인부터 n 번째 라인까지의 text 출력
n (없음) n 번째 라인으로 이동
n text (없음) n 번째 라인 내용을 text로 변경
0 text (없음) 1 번째 라인 앞에 text 추가

 

 

LIST 명령어

- 버퍼에 저장된 SQL 명령문을 출력하기 위해 사용하는 명령어

- 특정 라인 또는 특정 범위, 전체 범위의 라인에 포함된 명령문을 확인 또는 편집시 특정 라인으로 이동하기 위해 사용

L[LIST] { n | m n }

 

DEL명령어

- SQL 버퍼에 저장된 SQL 명령문중에서 일부 내용을 삭제하기 위한 명령어

DEL {n | m n}

DEL : 현재 행을 삭제합니다

DEL n : n번째 행을 삭제

DEL m n : m ~ n 번째까지 삭제

 

INPUT 명령어

- SQL 버퍼에 저장된 SQL 명령문의 현재 라인 다음에 새로운 라인 을 추가하는 경우에 사용

I[INPUT] [text] 또는 0 text

 

A[APPEND] text

-Text를 현재 행의 끝에 추가합니다.

 

 

CHANGE 명령어

- 현재 활성화된 라인에서 특정 텍스트를 다른 텍스트로 변경하기 위해 사용하는 명령

C[HANGE] /old /new

 

 

CL[CLEAR] BUFF[BUFFER]

cl buff

 

 

R[RUN]

버퍼의 현재 SQL 문을 표시하고 실행

/

버퍼의 현재 SQL문을 표시하지 않고 실행

 

 

SQL*Plus 파일조작 명령어

- SQL 버퍼에 저장된 SQL 명령문을 파일에 저장하거나 파일에 저 장된 SQL 명령문을 읽어올 수 있도록 하는 명령어

명령어 의미
SAV[SAVE] filename 현재 SQL버퍼의 내용을 파일에 저장
GET filename SAVE 명령어로 저장한 파일을 SQL버퍼에 읽어 옴
STA[START] filename 파일을 읽고 즉시 실행
@filename 파일을 읽고 즉시 실행
ED[EDIT] filename 저장된 파일 내용을 편집
SPO[SPOOL] [filename | OFF | OUT] 파일에 출력 결과를 저장
OFF는 SPOOL 파일을 닫음
OUT은 SPOOL파일을 닫고 프린터로 파일 전송

 

SAV[SAVE] filename [REP[REPLANCE] APP[APPEND]]

- SQL 버퍼의 현재 내용을 파일에 저장

- APPEND : 기존 파일에 추가

- REPLACE : 기존 파일에 겹쳐씀

- 파일 이름의 기본 확장자는 .sql임

 

 - GET filename : 이전에 저장한 파일 내용을 SQL버퍼에 쓴다

SPO[SPOOL] [filename | OFF | OUT]

- 질의 결과를 파일에 저장

- OFF : 스풀 파일을 닫음

- OUT : 스풀 파일을 닫은 후 파일 결과를 시스템 프린터로 전송

- 확장명은 .LST

'오라클SQL > 데이터베이스' 카테고리의 다른 글

SQL문 사용법  (0) 2021.08.30
실습용 데이터 작성  (0) 2021.08.30

실습용 데이터

 

실습용 데이터 작성

학생 테이블 인스턴스 & 예제 데이터 칼럼이름 데이터 타입 key type NN/ Unique FK tabel FK column 설명 STUDNO NUMBER(5) PK NN,U 학번 NAME VARCHAR2(10) NN 이름 USERID VARCHAR2(10) 사용자 아이디 GRADE VA..

codeahn.tistory.com

테이블 이름 확인

- 현재 접속한 데이터베이스 계정에 생성된 모든 테이블 이름을 확인

SELECT * 
FROM TAB;

테이블 구조 확인

DESC TBL_NAME;

DESC STUDENT;

SQL 명령문의 표준형식

SELECT [DISTINCT] *
FROM TABLE
[WHERE CONDITION]
[GROUP BY GROUP_BY_EXPRESSION]
[HAVING GROUP_CONDITION]
[ORDER BY COLUMN];

DISTINCT는 중복 제거

WHERE은 조건

GROUP BY는 그룹으로 묶음(행이줄어듦)

HAVING GROUP BY절에 의해 생성된 그룹을 대상으로 조건을 적용

ORDER BY 칼럼이나 표현식을 기준으로 출력 결과를 정렬할 때 사용

 

칼럼에 대한 별명 부여

- 칼럼 이름과 별명 사이에 공백을 추가

- 칼럼 이름과 별명 사이에 AS 키워드를 추가

- 큰 따옴표를 사용

    1.칼럼 이름과 별명 사이에 공백을 추가하는 경우

    2. 특수문자를 추가하거나 대소문자를 구분하는 경우

SELECT DNAME DEPT_NAME, DEPTNO AS DN
FROM DEPARTMENT;

합성 연산자(||) 사용

- 하나의 칼럼과 달느 칼럼, 산술 표현식 또는 상수 값과 연결하여 하나의 칼럼처럼 출력할 경우에 사용

 

산술 연산자(+,-,*,/)

- 칼럼 값에 산술 연산자를 적용하여 계산된 결과를 출력할 수 있는 기능을 제공

- 숫자 또는 날짜 타입(데이터 베이스 특징)에만 사용가능

- 수학에서 산술 연산자의 우선순위와 동일, 괄호를 사용하여 우선순위 변경가능

 

 

'오라클SQL > 데이터베이스' 카테고리의 다른 글

SQL PLUS  (0) 2021.08.30
실습용 데이터 작성  (0) 2021.08.30

학생 테이블 인스턴스 & 예제 데이터

칼럼이름 데이터 타입 key type NN/
Unique
FK tabel FK
column
설명
STUDNO NUMBER(5) PK NN,U     학번
NAME VARCHAR2(10)   NN     이름
USERID VARCHAR2(10)         사용자 아이디
GRADE VARCHAR2(1)         학년
IDNUM VARCHAR2(3)         주민등록번호
BIRTHDATE DATE         생년월일
TEL NUMBER(13)         전화번호
HEIGHT NUMBER(5,2)        
WEIGHT NUMBER(5,2)         몸무게
DEPTNO NUMBER(4) FK NN DEPARTMENT DEPTNO 학과번호
PROFNO NUMBER(4) FK   PROFESSOR PROFNO 지도교수번호

 

교수 테이블 인스턴스 & 예제 데이터

칼럼이름 데이터 타입 KEY Type NN/ Unique FK table FK columnt 설명
PROFNO NUMBER(4) PK NN,U     교수번호
NAME VARCHAR2(10)   NN     이름
USERID VARCHAR2(10)         사용자 아이디
POSITION VARCHAR2(20)         직급
SAL NUMBER(10)         급여
HIREDATE DATE         입사일
COMM NUMBER(2)         보직수당
DEPTNO NUMBER(2) FK NN DEPARTMENT DEPTNO 학과번호

부서등급 테이블 인스턴스 & 예제 데이터

칼럼이름 데이터 타입 key type NN/
Unique
FK tabel FK
column
설명
DEPTNO NUMBER(4) PK NN,U     부서 번호
DNAME VARCHAR2(16)   NN     부서 이름
COLLEGE NUMBER(4) FK       상위부서번호
LOC VARCHAR2(10)         위치

급여등급 테이블 인스턴스 & 예제 데이터

칼럼이름 데이터 타입 key type NN/
Unique
FK tabel FK
column
설명
GRADE NUMBER(2) PK NN,U     등급 기호
LOSAL NUMBER(5)   NN     하한 값
HISAL NUMBER(5)   NN     상한 값

 

'오라클SQL > 데이터베이스' 카테고리의 다른 글

SQL PLUS  (0) 2021.08.30
SQL문 사용법  (0) 2021.08.30

+ Recent posts