망각에 재주 있는 나를 위해 기록하는 곳.

DDL, DML, DCL, TCL 본문

DB

DDL, DML, DCL, TCL

baobabtree 2022. 3. 20. 01:48

DDL(Data Definition Language) 데이터 정의어 - Auto Commit

데이터를 정의하는 언어. 데이터를 담는 그릇을 정의하는 언어. 

CREATE 데이터베이스 오브젝트 생성
ALTER 데이터베이스 오브젝트 변경
DROP 데이터베이스 오브젝트 삭제 (테이블을 완전 삭제, rollback불가)
RENAME 데이터베이스 오브젝트 변경
TRUNCATE 데이터베이스 오브젝트 내용 삭제 (테이블이 최초로 만들어진 상태가 됨, 컬럼값만 남음, rollback불가)

 

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

데이터베이스에 저장된 자료를 입력, 수정, 삭제, 조회하는 언어

SELECT 테이블 내 컬럼에 해당하는 저장된 데이터를 조회
INSERT 테이블 내 컬럼에 해당하는 데이터를 추가
UPDATE 테이블 내 컬럼에 해당하는 저장된 데이터를 수정
DELETE 테이블 내 컬럼에 저장된 데이터를 삭제 (레코드를 삭제해도 테이블 구조는 남아 있음, commit전이면 rollback가능)

INSERT INTO 테이블 (속성명1, ....)

VALUES (데이터1, 데이터2, ....)

 

UPDATE 테이블

SET 속성명 = 데이터, ....

WHERE 조건

 

DELETE FROM 테이블

WHERE 조건

DCL(Data Control Language) 데이터 제어어 - Auto Commit

데이터베이스 관리자(DBA)가 데이터 보안, 무결성 유지, 병행 제어, 회복을 위해 관리자가 사용하는 제어용 언어.

*DBA(Database Administrator)

GRANT 관리자가 사용자에게 데이터베이스에 대한 권한을 부여하는 명령어
REVOKE 관리자가 사용자에게 부여했던 권한을 회수하기 위한 명령어

GRANT 권한 ON 테이블 TO 사용자

-> ex) GRANT UPDATE ON 사원리스트 TO 사용자

(관리자가 사용자에게 '사원리스트' 테이블에 대해 UPDATE 할 수 있는 권한을 부여)

 

REVOKE 권한 ON 테이블 FROM 사용자

-> ex) REVOKE UPDATE ON 사원리스트 FROM 사용자

(관리자가 사용자에게 '사원리스트' 테이블에 대해 UPDATE 할 수 있는 권한을 회수)

 

TCL(Transaction Control Language) 트랜잭션 제어어

트랜잭션의 결과를 허용하거나 취소하는 목적으로 사용되는 언어.

COMMIT 트랜잭션을 메모리에 영구적으로 저장
ROLLBACK 트랜잭션 내역을 저장 무효화 시킴
SAVEPOINT (CHECKPOINT) ROLLBACK할 지점을 지정함