<DDL vs DML 개념 정리>

구분 의미 목적 데이터 영향 COMMIT 필요 여부
DDL
(Data Definition Language)
데이터 정의어 DB 구조를 정의하거나 수정함 테이블/스키마 등
구조 변경
자동 COMMIT
DML
(Data Manipulation Language)
데이터 조작어 데이터를 조회·추가·수정·삭제함 실제 데이터 변경 수동 COMMIT 필요
(AUTOCOMMIT OFF 시)

 

★ 수동 COMMIT 필요 여부 확인 방법

MySQL : SELECT @@AUTOCOMMIT; (1이면 ON, 0이면 OFF)

Oracle : 사용 도구에 따라 달라짐

 

<DDL>

명령어 설명
CREATE 데이터베이스, 테이블, 뷰 등 생성
ALTER 테이블 구조 변경 (컬럼 추가/삭제 등)
DROP 테이블이나 데이터베이스 삭제
TRUNCATE 테이블 내용 전체 삭제 (초기화, 빠름)
RENAME 테이블 이름 변경
COMMENT 테이블, 컬럼 등에 주석 추가
CREATE TABLE USERS (
    ID INT PRIMARY KEY,
    NAME VARCHAR(50)
);

ALTER TABLE USERS ADD EMAIL VARCHAR(100);

DROP TABLE USERS;

TRUNCATE TABLE USERS;

 

<DML>

명령어 설명
SELECT 데이터 조회
INSERT 데이터 삽입
UPDATE 데이터 수정
DELETE 데이터 삭제
INSERT INTO USERS (ID, NAME) VALUES (1, 'LEE');

SELECT * FROM USERS;

UPDATE USERS SET NAME = 'KIM' WHERE ID = 1;

DELETE FROM USERS WHERE ID = 1;

+ Recent posts