: RDBMS에서 데이터를 다루고 관리하는데 사용하는 데이터 베이스 질의 언어
종류 | 설명 |
---|---|
DQL | RDBMS에 저장한 데이터를 원하는 방식으로 조회하는 명령어 |
DML | RDBMS 내 테이블의 데이터를 저장·수정·삭제하는 명령어 |
DDL | RDBMS 내 데이터 관리를 위해 테이블을 포함한 여러 객체를 생성·수정·삭제하는 명령어 |
TCL | 트랜잭션 데이터의 영구 저장·취소 등과 관련된 명령어 |
DCL | 데이터 사용 권한과 관련된 명령어 |
데이터를 보관할 example이라는 테이블 스페이스 생성
CREATE TABLESPACE example
연습용 계정의 아이디를 scott, 비밀번호를 tiger로 설정
CREATE USER scott IDENTIFIED BY tiger
scott 계정에 적절한 권한 주기 (example 테이블에 권한 부여, user에 권한 부여)
DEFAULT TABLESPACE example
TEMPORARY TABLESPACE temp
QUOTA unlimitied ON example
QUOTA unlimited ON users;
scott 계정으로 로그인
GRANT connect, resource TO scott;
데이터 생성 스크립트 실행 (쿼리문들이 모여있는 예시파일)
@D:파일경로
확인
SELECT* FROM dept
(가독성을 위해 명령어는 대문자로, 그 외는 소문자로 작성)
테이블의 구성을 확인할 수 있는 명령어
형식
DESC 테이블이름
ex. NOT NULL -> 값이 비어있으면 안됨
이름 널? 유형
------ -------- ------------
DEPTNO NOT NULL NUMBER(2)
DNAME VARCHAR2(14)
LOC VARCHAR2(13)
테이블의 데이터를 조회할 수 있는 명령어
형식 : 전체를 조회하고 싶으면 * 사용
SELECT 열이름1, (열이름2, 3...)
FROM 테이블이름
ex.
SELECT *
FROM dept;
--dept라는 테이블에 있는 모든 정보를 가지고 오겠다
SELECT loc
FROM dept;
--dept라는 테이블에 있는 loc열의 정보를 가지고 오겠다
: 반드시 SELECT 문 바로 뒤에 작성!
SELECT DISTINCT deptno
FROM emp;
: 작은 따옴표로 감싸준다
ex.
SELECT deptno, dname, '문자열'
FROM dept;
결과값
DEPTNO DNAME '문자열'
1 10 ACCOUNTING 문자열
2 20 RESEARCH 문자열
3 30 SALES 문자열
4 40 OPERATIONS 문자열
sal12 ANNSAL
sal12 "ANNSAL"
sal*12 "ANNSAL is here" > 띄어쓰기 포함할때 큰따옴표로 감싸줘야함
sal12 AS ANNSAL
sal12 AS "ANNSAL"
sal*12 AS "ANNSAL is here" > 띄어쓰기 포함할때 큰따옴표로 감싸줘야함
ex1.
SELECT deptno, dname, '문자열' description
FROM dept;
결과값
DEPTNO DNAME DESCRIPTION
1 10 ACCOUNTING 문자열
2 20 RESEARCH 문자열
3 30 SALES 문자열
4 40 OPERATIONS 문자열
ex2. 별칭 안에 작은 따옴표가 들어가는 경우
SELECT dname, ' it''s deptno is ' , deptno "DNAME AND DEPTNO"
FROM dept;
결과
SELECT dname, q'[it's deptno is]', deptno "DNAME AND DEPTNO"
FROM dept;
결과
: || 연산자로 붙이고자하는 값을 써준다
ex1.
SELECT ename, job, ename || job, '한줄'
FROM emp;
결과값
ENAME JOB ENAME || JOB '한줄'
1 SMITH CLERK SMITHCLERK 한줄
2 ALLEN SALESMAN ALLENSALESMAN 한줄
3 WARD SALESMAN WARDSALESMAN 한줄
4 JONES MANAGER JONESMANAGER 한줄
5 MARTIN SALESMAN MARTINSALESMAN 한줄
6 BLAKE MANAGER BLAKEMANAGER 한줄
7 CLARK MANAGER CLARKMANAGER 한줄
8 KING PRESIDENT KINGPRESIDENT 한줄
9 TURNER SALESMAN TURNERSALESMAN 한줄
10 JAMES CLERK JAMESCLERK 한줄
11 FORD ANALYST FORDANALYST 한줄
12 MILLER CLERK MILLERCLERK 한줄
ex2.
SELECT ename||' ''s job is '|| job "NAME AND JOB"
FROM emp;
-- '' -> 작은 따옴표 하나를 출력하겠다
-- emp 테이블의 ename + 's job is + job의 값을
-- 별칭을 NAME AND JOB으로 지어서 출력하겠다
결과