BOARD / DML / 2026-04-13

SQL DML 정리

DML은 데이터를 실제로 넣고, 바꾸고, 지우는 명령입니다. 현재 BLACK SQL LAB 실습은 조회형 중심이지만, SQLD 이론 정리 관점에서는 DML 개념을 함께 이해해야 전체 흐름이 완성됩니다.

게시판 목록BLACK SQL 실습SQLD 문제은행

DML은 테이블 구조를 바꾸지 않고 데이터 자체를 조작합니다. 실행 뒤 COMMIT 여부에 따라 결과가 확정될 수 있다는 점도 TCL과 함께 같이 기억해야 합니다.

핵심 체크포인트

  • INSERT는 추가, UPDATE는 수정, DELETE는 삭제, MERGE는 조건부 반영입니다.
  • WHERE 없는 UPDATE와 DELETE는 전체 행에 영향을 줄 수 있습니다.
  • DML 뒤 트랜잭션 처리까지 이어서 보는 습관이 중요합니다.

주제별 설명

INSERT

새 행을 테이블에 추가하는 명령입니다.

  • 컬럼 목록을 명시하면 안전하고 가독성도 좋아집니다.
  • INSERT INTO ... SELECT 형태로 다른 결과를 한 번에 적재할 수도 있습니다.

UPDATE

기존 행의 값을 수정하는 명령입니다.

  • WHERE 조건이 빠지면 모든 대상 행이 수정될 수 있습니다.
  • 여러 컬럼을 한 번에 바꿀 수 있으며 서브쿼리와도 자주 결합됩니다.

DELETE

조건에 맞는 행을 삭제하는 명령입니다.

  • 행 자체를 제거하므로 UPDATE와 다르게 데이터가 사라집니다.
  • 삭제 전에는 항상 WHERE와 영향 범위를 먼저 점검하는 습관이 좋습니다.

MERGE

매칭되면 UPDATE, 없으면 INSERT처럼 조건부 반영을 한 번에 수행하는 명령입니다.

  • 동기화, 업서트, 기준 데이터 반영 흐름에서 많이 사용합니다.
  • 대상과 소스의 매칭 조건을 정확히 읽어야 오동작을 막을 수 있습니다.

실습 흐름 추천

  1. DML은 개념적으로 행 단위 변경이라는 점을 먼저 정리합니다.
  2. UPDATE와 DELETE는 반드시 WHERE 범위를 먼저 읽는 연습을 합니다.
  3. MERGE는 WHEN MATCHED / NOT MATCHED 구조를 말로 풀어 읽어보면 이해가 빨라집니다.
바로 이어서 해보려면

이론만 읽지 말고 바로 blacksql.sqld.kr에서 실행해보고, 문제 풀이 감각은 www.sqld.kr에서 이어가면 학습 속도가 훨씬 빨라집니다.

자주 묻는 질문

MERGE는 꼭 알아야 하나요?

SQLD와 실무 모두에서 자주 나오는 편이라 기본 구조는 익혀두는 것이 좋습니다.

DELETE와 TRUNCATE는 어떻게 다른가요?

DELETE는 DML, TRUNCATE는 DDL로 구분되며 동작 성격과 트랜잭션 처리 방식이 다릅니다.