면접 단골 문제..!
DDL DML DCL를 간단히 설명해볼 수 있나요?
DDL , DML , DCL에 해당하는 명령어를 말해줄 수 있나요?
데이터베이스에서는 데이터를 다루기 위한 모든 작업을 SQL을 이용해 작업한다.
SQL은 다루는 객체나 용도에 따라서 그룹핑할 수 있다.
DDL, DML, DCL, TCL로 나누어서 부른다.
1. DDL (데이터 정의어) - 데이터베이스의 구조 정의에 사용하는 언어
- create : 테이블을 생성
- truncate : 테이블 내용을 삭제 (초기화) > drop과는 다른 개념임
- alter : 테이블의 구조 변경 (컬럼 추가 등등)
- drop : 테이블 삭제 (truncate는 내용만 삭제, drop은 아예 테이블 삭제)
2. DML(데이터 조작어) - 데이터 조작에 사용하는 언어
- insert : 데이터 추가
- update : 데이터 수정
- delete : 데이터 삭제
- select : 데이터 조회
3. DCL(데이터 제어어) - 데이터베이스 접근 권한 제어에 사용하는 언어
- grant : 유저에게 권한 부여
- revoke : 유저에게 권한 회수
4. TCL(트랜잭션 제어어) - DCL에서 트랜잭션을 컨트롤하는 명령어를 TCL로 분류
- commit :올바르게 완료한 작업, 데이터베이스에 영구적으로 반영한다
- rollback : 작업 시작 전으로 되돌린다.
- savepoint : 세이브포인트를 지정해서 rollback과 함께 사용해 특정 지점까지 rollback