SQL은 구조화된 질의 언어 Structured Query Language 의 약자이다.
DBMS 상에서 데이터를 읽고 쓰고 삭제하는 등 데이터를 관리하기 위한 일종의 프로그램 언어이다.
C나 자바와 같은 일반 프로그래밍 언어는 절차적 언어이다.
SQL은 DBMS상의 데이터를 처리하는 집합적 언어이다.
절차적 언어의 특징은 프로그래밍 순서대로 로직이 처리된다면 (자바와 같은 객체지향형 언어도 절차적 언어에 그 뿌리를 두고 있다.)
집합적 언어는 데이터를 특정 집합 단위로 분류해 이 단위별로 한 번에 처리하는 언어이다.
SQL은 크게 데이터베이스 객체를 관리하는 DDL과 데이터를 조작하는 DML로 나눌 수 있다.
DDL은 데이터 정의어 Data Definition Language 로 데이터베이스 객체를 관리하는 언어이고
DML은 데이터 조작어 Data Manipulation Lanaguage 로 데이터 삽입, 조회, 삭제, 갱신 등 실제로 데이터를 조작하는 언어이다.
개발자 입장에서는 DDL보다는 DML을 사용하는 빈도가 압도적이며 그 종류 역시 DML이 많다.
DDL
DDL은 데이터베이스 객체를 생성, 삭제, 변경하는 언어로 대략 4가지 정도로 구분할 수 있다.
- CREATE: 테이블이나 인덱스, 뷰 등 데이터베이스 객체를 생성
- DROP: 생성된 데이터베이스 객체를 영구히 삭제
- ALTER: 이미 생성된 데이터베이스 객체를 수정
- TRUNCATE: 테이블이나 클러스터의 데이터를 통째로 삭제
DML
DML은 실제 데이터를 조작하는 언어로 6가지 정도로 나눌 수 있다.
- SELECT: 테이블이나 뷰에 있는 데이터를 조회
- INSERT: 데이터를 신규로 생성
- UPDATE: 이미 생성된 데이터를 수정
- DELETE: 데이터를 삭제
- COMMIT: 트랜잭션 처리. 변경된 데이터를 최종 적용
- ROLLBACK: 트랜잭션 처리. 변경된 데이터를 적용하지 않고 이전으로 되돌림
DDL, DML 외에도 데이터 제어 언어 Data Control Lanaguage 라고 하는 DCL이 있는데
사용자에게 특정 권한을 주는 GRANT와 회수하는 REVOKE문이 있다.
특정 사용자에게 DDL 권한을 주거나 회수하는 것도 DCL로 처리한다.
'oracle' 카테고리의 다른 글
데이터 타입 _문자 (0) | 2021.04.01 |
---|---|
데이터베이스 객체 _테이블 (생성) (0) | 2021.04.01 |
데이터베이스 객체의 개요 (0) | 2021.04.01 |
PL/SQL의 개요 (0) | 2021.04.01 |
오라클 에디션별 특징 (0) | 2021.03.31 |