정보처리기사 CBT
종목 메뉴

개념 한 쪽

정보처리기사 DML — 데이터 조작어와 명령 문법

DML(데이터 조작어)은 사용자가 데이터를 조회·삽입·수정·삭제하는 데 쓰는 SQL 명령군이다. 정보처리기사에서는 DML·DDL·DCL의 분류와 INSERT·UPDATE 문의 정확한 문법이 단골로 출제된다.

2026-10-15 기준 · 정보처리기사 대시보드

이 개념을 문제로 확인하고 싶으면 이 개념 문제 10개 풀기 회원용

가입 없이 오늘의 10문제 바로 풀기 →

시험에 이렇게 나온다

출제기준 단원 「DML」의 공개 문제 3개를 묻는 꼴별로 나누면 이렇습니다.

묻는 꼴문제 수무엇을 묻나
용어·역할 판정1응용프로그램과 DBMS 사이 인터페이스인 언어
INSERT 문장 문법 판정1INSERT INTO (...) VALUES 형식의 올바름
DML 포함 여부 판정1보기 중 DML에 속하지 않는 명령 식별

뜻

SQL의 명령은 사용 용도에 따라 DDL, DML, DCL로 구분된다. 이 중 DML(Data Manipulation Language, 데이터 조작어)은 사용자(응용 프로그램)와 DBMS 사이의 인터페이스를 제공하여 데이터를 처리할 수 있게 하는 언어다. 데이터의 조회, 삽입, 수정, 삭제 등 레코드 단위의 조작을 담당하며, SELECT, INSERT, UPDATE, DELETE가 DML에 속한다.

나머지 분류와의 경계가 중요하다. CREATE, ALTER, DROP처럼 스키마(구조)를 정의·변경·삭제하는 명령은 DDL(데이터 정의어)이지 DML이 아니다. GRANT, REVOKE처럼 데이터 사용 권한을 부여·회수하는 명령은 DCL(데이터 제어어)이다. 그래서 'DML이 아닌 것은?' 문제에서 CREATE가 보기에 있으면 정답이 되고, '나머지 셋과 성격이 다른 명령은?' 문제에서 SELECT·UPDATE·INSERT 사이에 GRANT가 섞여 있으면 GRANT를 고르면 된다.

DML의 대표 문법도 그대로 암기해야 한다. 튜플을 삽입할 때는 INSERT INTO 테이블명(컬럼) VALUES (값) 형식을 따르며, FROM이나 TO 같은 잘못된 키워드나 INTO의 생략은 문법 오류가 된다. UPDATE 문은 기존 튜플의 내용을 변경할 때 사용하며, 새로운 삽입은 UPDATE가 아니라 INSERT의 역할이다. UPDATE에서 WHERE 절은 선택 사항이어서 생략하면 전체 튜플이 한꺼번에 갱신되고, 갱신 대상 속성의 순서는 무관하다.

예제

'DML에 해당하는 SQL 명령으로만 짝지어진 것은?' 문제는 INSERT·DELETE·UPDATE·SELECT만 골라내고 CREATE·ALTER·DROP을 걸러내는 형태로 나온다. '학번 600, 성명 홍길동, 학년 2학년인 학생 튜플을 삽입하는 명령은?' 같은 문법 선택 문제에서는 INSERT INTO ... VALUES ... 꼴을 고르면 된다. UPDATE 문제에서는 '기존 튜플의 내용을 변경한다'는 설명이 옳고, '새로운 튜플을 삽입한다', 'WHERE 절은 반드시 필요하다' 같은 보기가 오답으로 출제된다.

대표 기출 3문항

사용자로 하여금 데이터를 처리할 수 있게 하는 도구로서 사용자(응용프로그램)와 DBMS간의 인터페이스를 제공하는 언어는?

  1. 데이터정의어(DDL)
  2. 데이터 조작어(DML)
  3. 데이터 부속어(DSL)
  4. 데이터 제어어(DCL)
정답과 해설 보기

정답 ② · 사용자와 DBMS 간의 인터페이스를 제공하며 데이터를 처리할 수 있게 하는 언어를 고르는 문제이다. 데이터 조작어(DML)는 SELECT, INSERT, UPDATE, DELETE 등을 통해 사용자나 응용 프로그램이 데이터베이스 내 데이터를 조회하고 조작할 수 있게 하는 언어이다.

사용자가 데이터를 조회하거나 수정하는 등 조작을 수행하는 데 사용하는 언어는 데이터 조작어(DML)이다.

SQL문에서 STUDENT(SNO, SNAME, YEAR, DEPT) 테이블에 "학번 600, 성명 홍길동, 학년 2학년"인 학생 튜플을 삽입하는 명령으로 옳은 것은? (단, SNO는 학번, SNAME은 성명, YEAR는 학년, DEPT는 학생, 교수 구분 필드임.)

  1. INSERT STUDENT INTO VALUES (600, '홍길동', 2);
  2. INSERT FROM STUDENT VALUES (600, '홍길동', 2);
  3. INSERT INTO STUDENT(SNO, SNAME, YEAR) VALUES (600, '홍길동', 2);
  4. INSERT TO STUDENT(SNO, SNAME, YEAR) VALUES (600, '홍길동', 2);
정답과 해설 보기

정답 ③ · STUDENT 테이블에 특정 튜플을 삽입하는 올바른 SQL문을 고르는 문제이다. SQL의 삽입 문법은 INSERT INTO 테이블명(컬럼 목록) VALUES (값 목록) 순서로 작성해야 한다.

SQL 삽입 문법은 'INSERT INTO 테이블명(컬럼) VALUES (값)' 형식을 정확히 따라야 한다.

Which of the following does not belong to the DML statement of SQL?

  1. SELECT
  2. DELETE
  3. CREATE
  4. INSERT
정답과 해설 보기

정답 ③ · SQL 명령어 중 DML(데이터 조작어)에 속하지 않는 것을 찾는 문제이다. DML은 데이터의 조회와 조작을 담당하므로 SELECT, INSERT, DELETE는 모두 DML에 해당한다.

DML은 데이터 조작어이며 CREATE는 데이터 정의어(DDL)이다.

자주 묻는 물음

DML에 속하는 명령과 속하지 않는 명령은 어떻게 구분하나요?
SELECT, INSERT, UPDATE, DELETE가 DML입니다. CREATE, ALTER, DROP은 구조를 정의하는 DDL, GRANT와 REVOKE는 권한을 다루는 DCL이므로 DML이 아닙니다.
DML의 역할을 한 문장으로 정리하면 무엇인가요?
사용자(응용 프로그램)와 DBMS 간의 인터페이스를 제공하여 데이터의 조회·삽입·수정·삭제를 수행하게 하는 데이터 조작어입니다.
INSERT와 UPDATE 문법에서 흔히 틀리는 부분은 무엇인가요?
INSERT는 INTO 테이블명(컬럼) VALUES (값) 순서를 지켜야 하고, UPDATE는 기존 튜플의 값을 변경하는 명령입니다. UPDATE의 WHERE 절은 생략 가능하며 생략 시 전체 튜플이 갱신됩니다.
이 개념 문제 10개 풀기 회원용

정보처리기사 풀이 세트에서 이 개념의 문제 10개를 바로 풀어 보세요.