Programming/Database (Oracle, SQL)

[Oracle/SQL] SQL의 종류 - DQL, DML, DDL, DCL, TCL

Sujin Lee (Daisy) 2020. 1. 29. 00:09

오라클이란?

 - 관계형 데이터베이스 시스템. (RDBMS) 

 - 한 마디로, 그냥 DB 관리해주는 시스템. 

 

데이터

1. 정형화된 데이터
  - 일정한 형식이나 틀이 있는 데이터
 - 형태가 있고, 데이터 모델을 준수하는 데이터.
 - ex) DB테이블

 

2. 반정형화된 데이터
 - 형태가 있으나 데이터 모델을 준수하지 않는 데이터.
 - ex) XML, JSON(JavaScript Object Notation), HTML
 - HTML을 JSoup으로 크롤링 할 수 있는 것은 반정형데이터라 형태가 있기 때문... 

 

3. 비정형화된 데이터
 - 아예 정형화되어 있지 않은 데이터.
 - 데이터 모델이 없거나 미리 정의되지 않은 정보.
 - ex) 댓글, 페북 포스팅, 트위터 트윗들 

 

SQL의 종류 

 - SQL(Structured Query Language) : 구조화된 질의 언어. 오라클에 사용됨. 

 

1) DQL (데이터 질의 언어, Data Query Language) 

 - SELECT : 데이터 검색 

 - SELECT를 DQL로 따로 빼기도 하지만, 대부분 DML에 포함시킨다. 

 

2) DML (데이터 조작 언어, Data Manipulation Language) 

 - 단위 : Row 단위 (가로줄. 행.) 

 - DML만 COMMIT/ROLLBACK 가능. 나머지 애들은 커밋/롤백이 불가능하다.

 - INSERT : 데이터 추가

 - UPDATE : 데이터 수정

 - DELETE : 데이터 삭제 

 - 1) DQL + 2) DML ==> CRUD 

 

3) DDL (데이터 정의 언어, Data Definition Language) 

 - 단위 : COlumn 단위 (세로줄. 열.) 

 - CREATE : 생성  

 - ALTER : 수정(MODIFY), 삭제(DROP), 추가 (ADD)

 - DROP : 테이블의 구조 자체를 삭제.

 - TRUNCATE : 테입블의 구조는 남겨두고 데이터만 전부 삭제. 

 - RENAME : 테이블명 or 칼럼명 변경

 

4) DCL (데이터 제어 언어)

 - GRANT : 권한 부여

 - REVOKE : 권한 해제 

 ※ 오라클 계정 종류 

 - system, sysdba : 권한 부여/해제 권한 有
 - user (hr 계정 포함) : 권한 부여/해제 권한 無 

계정 설명
SYS Oracle DB 관리자. Super 사용자 계정. 모든 관리 기능을 수행할 수 있음. 
SYSTEM 백업 및 복구, 데이터베이스 업그레이드를 제외한 모든 관리 기능 수행 가능. 
HR 오라클을 잘 다루지 못하는 사용자를 위한 교육용 계정. 

 

5) TCL (트랜잭션 언어, Transaction Control Language) 

 - 일괄 처리. INSERT, UPDATE, DELETE에서만 사용. 

 - COMMIT : 정상적으로 저장.

 - ROLLBACK : 취소.

 ※ 한 번 커밋하면 롤백 불가 
 ※ 비절차적 언어 → 위에서 오류나도(1 오류) 오류난 것 아래 것들(2,3)은 실행됨
    INSERT 입고 ---1  (오류)
    재고 UPDATE ---2 (실행됨)
    재고 INSERT ---3 (실행됨)

반응형