1. system 계정의 작업 내용
Oracle 데이터베이스에서 기본 관리자는 system 계정입니다.
이 계정으로 사용자 생성, 권한 부여·회수, 스키마 오브젝트 관리 등을 수행합니다.
1.1 DDL (Data Definition Language)
DDL은 데이터베이스 객체를 생성·수정·삭제하는 언어입니다.
- create: 객체 생성
- drop: 객체 삭제
- alter: 객체 수정
-- 예시: 테이블, 뷰, 인덱스 등 생성/변경/삭제
CREATE TABLE example (...);
ALTER TABLE example ADD COLUMN col2 VARCHAR2(50);
DROP TABLE example;
1.2 DCL (Data Control Language)
DCL은 데이터베이스 사용 권한을 부여하거나 회수하는 언어로,
주로 system 계정이 다른 사용자에게 권한을 관리합니다.
- grant: 권한 부여
- revoke: 권한 회수
1.3 사용자 생성 (DDL)
-- test 사용자 생성
CREATE USER test IDENTIFIED BY test;
1.4 권한 부여 (DCL)
-- 접속 권한
GRANT CONNECT TO test;
-- 테이블 생성 등 자원 활용 권한
GRANT RESOURCE TO test;
-- 한 줄에 권한 두 개 부여
GRANT CONNECT, RESOURCE TO test;
1.5 권한 회수 (DCL)
REVOKE CONNECT, RESOURCE FROM test;
2. test 계정의 작업 내용
test 계정(권한 Connect, Resourse)으로 접속한 후, 직접 테이블을 만들고 데이터를 조작해 봅니다.
2.1 테이블 생성 (DDL)
CREATE TABLE sungjuk (
no INT, -- 번호
name VARCHAR2(100), -- 이름
kor INT, -- 국어 점수
eng INT, -- 영어 점수
mat INT -- 수학 점수
);
2.2 데이터 조작 (DML)
명령어 설명
INSERT | 데이터 추가 |
UPDATE | 데이터 수정 |
DELETE | 데이터 삭제 |
SELECT | 데이터 조회 |
데이터 삽입 (INSERT)
-- 기본 입력 순서대로
INSERT INTO sungjuk VALUES (1, '일길동', 77, 88, 99);
-- 컬럼 순서 지정 후 입력
INSERT INTO sungjuk (no, eng, kor, mat, name)
VALUES (2, 99, 88, 66, '이길동');
INSERT INTO sungjuk VALUES (3, '삼길동', 87, 88, 89);
데이터 삭제 (DELETE)
-- no가 1인 레코드 삭제
DELETE FROM sungjuk
WHERE no = 1;
데이터 수정 (UPDATE)
-- no = 1인 레코드의 국어 점수 100으로 수정
UPDATE sungjuk
SET kor = 100
WHERE no = 1;
-- 여러 컬럼 동시에 수정
UPDATE sungjuk
SET kor = 100, eng = 100
WHERE no = 2;
UPDATE sungjuk
SET kor = 100, eng = 100, mat = 100
WHERE no = 3;
2.3 데이터 조회 (SELECT)
-- 모든 컬럼 조회
SELECT * FROM sungjuk;
-- 일부 컬럼 조회
SELECT no, name FROM sungjuk;
-- 연산 컬럼과 윈도우 함수 활용
SELECT
no,
name,
kor,
eng,
mat,
(kor + eng + mat) AS tot,
ROUND((kor + eng + mat) / 3, 1) AS avg,
RANK() OVER (ORDER BY (kor + eng + mat) DESC) AS rnk
FROM sungjuk;
세미콜론(;)은 SQL 구문의 끝을 명시하는 구분자입니다.
한 번에 여러 구문을 실행할 때는 반드시 세미콜론을 붙여야 합니다.
3. 샘플 DB 조회
Oracle이 제공하는 예제 스키마를 통해 기본 테이블을 확인해 봅니다.
SELECT * FROM dept;
SELECT * FROM sawon;
SELECT * FROM gogek;
'Oracle' 카테고리의 다른 글
Oracle DECODE, CASE, NVL/NVL2, VIEW 함수 정리 및 예제 (4) | 2025.08.08 |
---|---|
Oracle SQL 함수 정리 (3) | 2025.08.08 |
Oracle SQL 조회 및 문자열 연산 정리 (4) | 2025.08.08 |
Oracle 테이블 제약조건 정리 (7) | 2025.08.07 |
Oracle 데이터 타입 정리 (0) | 2025.08.06 |