SQL (DDL, DML, DCL, TCL)
기술노트
💉 SQL (DDL, DML, DCL, TCL)
SQL (Structured Query Language)은 관계형 데이터베이스(RDBMS)에 저장된 데이터를 관리하고 조작하기 위해 사용하는 표준 프로그래밍 언어입니다. SQL 명령어는 기능에 따라 크게 DDL, DML, DCL, TCL로 나뉩니다.
📜 DDL (Data Definition Language) : 데이터 정의어
데이터베이스, 테이블, 뷰, 인덱스 등 데이터베이스 객체의 구조를 정의하고 관리하는 명령어입니다.
- `CREATE` : 데이터베이스, 테이블, 뷰, 인덱스 등을 생성합니다.
- `ALTER` : 기존 테이블의 구조(컬럼 추가/삭제/수정 등)를 변경합니다.
- `DROP` : 데이터베이스, 테이블, 뷰, 인덱스 등을 완전히 삭제합니다.
- `TRUNCATE` : 테이블의 모든 데이터를 삭제하고, 저장 공간을 재사용할 수 있도록 합니다. (DELETE보다 빠름)
- `RENAME` : 객체의 이름을 변경합니다.
📜 DML (Data Manipulation Language) : 데이터 조작어
테이블에 저장된 데이터를 검색, 삽입, 수정, 삭제하는 명령어입니다. 가장 빈번하게 사용됩니다.
- `SELECT` : 데이터를 조회합니다.
- `INSERT` : 새로운 데이터를 테이블에 삽입합니다.
- `UPDATE` : 기존 데이터를 수정합니다.
- `DELETE` : 데이터를 삭제합니다.
📜 DCL (Data Control Language) : 데이터 제어어
데이터베이스 사용자의 접근 권한을 관리하는 명령어입니다.
- `GRANT` : 사용자에게 특정 권한(테이블 조회, 수정 등)을 부여합니다.
- `REVOKE` : 사용자에게 부여했던 권한을 회수합니다.
📜 TCL (Transaction Control Language) : 트랜잭션 제어어
데이터베이스의 트랜잭션(Transaction)을 제어하는 명령어입니다. 여러 개의 DML 작업을 하나의 논리적인 단위로 묶어 처리할 때 사용됩니다.
- `COMMIT` : 트랜잭션의 모든 작업을 성공적으로 완료하고, 변경된 내용을 데이터베이스에 영구적으로 반영합니다.
- `ROLLBACK` : 트랜잭션의 모든 작업을 취소하고, 트랜잭션이 시작되기 이전 상태로 되돌립니다.
- `SAVEPOINT` : 트랜잭션 내에 중간 저장 지점을 만들어, 특정 지점까지만 롤백할 수 있도록 합니다.
💡 정보처리기사 핵심 Point
- 정보처리기사 시험에서는 DDL, DML, DCL, TCL의 각 명령어 종류와 그 역할을 정확히 구분하는 문제가 자주 출제됩니다.
- 특히 `CREATE`, `ALTER`, `DROP`과 `SELECT`, `INSERT`, `UPDATE`, `DELETE`, `GRANT`, `REVOKE`, `COMMIT`, `ROLLBACK` 명령어의 사용법과 의미를 명확히 이해해야 합니다.