Topcit

SQL DML 요약

Life Log 2024. 10. 27. 23:59
728x90
반응형

DML(Data Manipulation Language)은 데이터베이스에서 데이터를 추가, 수정, 삭제하는 데 사용되는 SQL 명령어 집합입니다. DML은 데이터 자체를 다루기 때문에 주로 사용자가 데이터를 조회하고 변경하는 작업에 사용됩니다. 대표적인 DML 명령어로는 INSERT, UPDATE, DELETE, MERGE가 있습니다.


DML의 주요 명령어와 예시

1. INSERT - 데이터 삽입

INSERT는 테이블에 새 데이터를 추가합니다. INSERT에는 INSERT INTO VALUES, INSERT INTO SELECT, INSERT ALL, INSERT FIRST와 같은 방식이 있습니다.

기본 INSERT 예제

INSERT INTO emp (empno, ename, job, sal, deptno)
VALUES (101, 'Alice', 'MANAGER', 5000, 10);
  • emp 테이블에 새로운 행을 추가합니다. 이 예제는 empno, ename, job, sal, deptno 컬럼에 각각 값을 삽입합니다.

INSERT INTO SELECT 예제

INSERT INTO emp_backup (empno, ename, job, sal, deptno)
SELECT empno, ename, job, sal, deptno FROM emp WHERE deptno = 10;
  • emp 테이블에서 deptno가 10인 데이터를 emp_backup 테이블에 복사하여 삽입합니다.

2. UPDATE - 데이터 수정

UPDATE는 기존 테이블의 데이터를 수정합니다. SETWHERE 절을 사용하여 특정 조건에 맞는 데이터를 변경할 수 있습니다.

기본 UPDATE 예제

UPDATE emp
SET sal = sal * 1.1
WHERE job = 'MANAGER';
  • emp 테이블에서 job'MANAGER'인 직원의 급여(sal)를 10% 인상합니다.

다중 컬럼 UPDATE 예제

UPDATE emp
SET job = 'SENIOR MANAGER', sal = sal + 1000
WHERE empno = 101;
  • empno가 101인 직원의 job'SENIOR MANAGER'로 변경하고, sal을 1000 증가시킵니다.

3. DELETE - 데이터 삭제

DELETE는 특정 조건에 맞는 데이터를 삭제합니다. WHERE 절을 사용하여 특정 조건을 지정할 수 있습니다. 조건을 지정하지 않으면 테이블의 모든 데이터가 삭제됩니다.

기본 DELETE 예제

DELETE FROM emp
WHERE empno = 101;
  • emp 테이블에서 empno가 101인 행을 삭제합니다.

조건 없는 DELETE 예제

DELETE FROM emp;
  • emp 테이블의 모든 데이터를 삭제하지만 테이블 구조는 유지됩니다.

4. MERGE - 데이터 병합 (UPSERT)

MERGE는 테이블에 데이터를 삽입하거나 업데이트하는 복합 작업을 수행합니다. 조건에 따라 해당 데이터가 있으면 업데이트하고, 없으면 삽입할 때 사용됩니다. 주로 UPSERT(Update + Insert)라고 불립니다.

기본 MERGE 예제

MERGE INTO emp e
USING emp_backup eb
ON (e.empno = eb.empno)
WHEN MATCHED THEN
    UPDATE SET e.sal = eb.sal, e.job = eb.job
WHEN NOT MATCHED THEN
    INSERT (empno, ename, job, sal, deptno)
    VALUES (eb.empno, eb.ename, eb.job, eb.sal, eb.deptno);
  • emp_backup 테이블의 데이터를 emp 테이블과 비교합니다.
    • empno가 동일한 데이터가 존재할 경우 saljob을 업데이트합니다.
    • 동일한 데이터가 없을 경우 새 데이터를 emp 테이블에 삽입합니다.

요약

  • INSERT: 데이터를 테이블에 삽입합니다.
  • UPDATE: 기존 데이터를 수정합니다.
  • DELETE: 조건에 맞는 데이터를 삭제합니다.
  • MERGE: 조건에 따라 데이터를 삽입하거나 업데이트하는 복합 작업을 수행합니다.

DML 명령어는 데이터베이스 내 데이터를 관리하고 유지하는 데 있어 필수적이며, 데이터베이스 사용 시 가장 빈번하게 사용되는 명령어들입니다.

728x90
반응형

'Topcit' 카테고리의 다른 글

Java PreparedStatement  (0) 2024.10.28
Java 객체지향 프로그래밍 특징  (0) 2024.10.28
SQL DCL 요약  (0) 2024.10.28
SQL DQL 요약  (0) 2024.10.27
SQL DDL 요약  (0) 2024.10.27