DCL (데이터 제어어, Data Control Language)
- 권한 제어 (사용자 접근 권한, 보안 관련)
- 자동 COMMIT (취소 불가)
- 주요 명령어
- GRANT : 권한 부여
- WITH GRANT OPTION : 권한을 받은 사용자가 다른 사용자에게 권한을 다시 부여할 수 있음.
- REVOKE : 권한 취소
- CASACASE : 권한을 회수하면, 그 권한을 통해 다른 사용자에게 전파된 권한도 같이 회수
- RESTRICT : 권한을 회수할 때, 그 권한을 기반으로 다른 사용자에게 부여된 권한이 있으면 REVOKE 불가
- GRANT : 권한 부여
DDL (데이터 정의어, Data Definition Language)
- 데이터 구조 정의/변경/삭제 언어
- 실행 즉시 자동 COMMIT → 취소 불가
- 주요 명령어
- CREATE, ALERT, DROP, RENAME, TRUNCATE
- 제약조건 지정
- PK, FK, UNIQUE, NOT NULL, CHECK, DEFAULT
- 외래키(FK) 제약조건
- ON DELETE CASCADE : 부모가 삭제되면 자식도 같이 삭제됨.
- ON DELETE SET NULL : 부모가 삭제되면 자식 FK가 NULL값이 됨.
- ON DELETE SET DEFAULT : 부모가 삭제되면 가식 FK가 기본값이 됨.
- ON DELETE RESTRICT : 자식이 존재하면 부모 삭제 불가
- ON DELETE NO ACTION : FK 위배 시 삭제 거부 (RESTRICT 옵션과 유사)
DML (데이터 조작어, Data Manipulation Language)
- 데이터를 조회/조작하는 언어
- 트랜잭션 단위로 실행 → COMMIT/ROLLBACK 필요
- 주요 명령어
- SELECT, INSERT, UPDATE, DELETE
- SELECT 문장 실행순서
- FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY
TCL (트랜잭션 제어어, Transaction Control Language)
- 트랜잭션 제어 언어 (DML 제어용)
- 주요 명령어
- COMMIT, ROLLBACK, SAVEPOINT
※ 참고 : DELETE vs TRUNCATE vs DROP
구분 DELETE TRUNCATE DROP 분류 DML DDL DDL 삭제 대상 조건에 맞는 데이터 행(Row) 테이블 전체 데이터 테이블 자체
(구조+데이터+제약조건)조건 사용 WHERE 사용 가능 WHERE 불가 해당 없음 트랜잭션 제어 ROLLBACK 가능
(수동 COMMIT 필요)자동 COMMIT
→ ROLLBACK 불가자동 COMMIT
→ ROLLBACK 불가속도 느림 (한 행씩 로그 기록) 빠름 (페이지 단위 초기화) 가장 빠름 (오브젝트 자체 제거) 테이블 구조 유지 여부 유지 유지 삭제 제약조건 / 인덱스 유지 유지 삭제 자동 증가 값
(Identity)유지 초기화 됨(DBMS에 따라 다를 수 있음.) 해당 없음
'SQL Professional' 카테고리의 다른 글
| [독학! SQLP] 함수 정리! (0) | 2025.08.20 |
|---|---|
| [독학! SQLP] NULL에 관하여! (0) | 2025.08.19 |
| [독학! SQLP] 정규형? 정규화? 반정규화? (0) | 2025.08.19 |
| [독학! SQLP] 학습용 Oracle 설치 가이드 (1) | 2025.08.19 |
| [독학! SQLP] 엔터티? 식별자? 속성? 속성값? 도메인? 인스턴스? 관계? (0) | 2025.08.18 |