<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;
'SQL > 참고자료' 카테고리의 다른 글
[SQL] HeidiSQL로 MySQL 관리, Spring Boot 연동 환경 설정 가이드 (0) | 2025.08.03 |
---|---|
[SQL] DB 서버-클라이언트 호환성 정리 (0) | 2025.08.02 |
[SQL] 자식 테이블 조회 (0) | 2025.06.20 |
[SQL] Lock 관련 문제 확인 및 해결 (0) | 2025.01.21 |
[SQL] 커넥션 (0) | 2025.01.21 |