BackEnd/MySQL

[DB] DML (Data Manipulation Language)

Hojung7 2024. 8. 25. 23:05

 ▶ DML(Data Manipulation Language)

- 데이터 조작 언어로 테이블에 값을 삽입(INSERT), 수정(UPDATE), 삭제(DELETE)하는 구문을 말함

- SELECT도 DML에 포함되긴 하지만 DQL이라는 것으로 분리해서 보기도 한다!!
  → DQL(Data Query Language : 데이터 질의 언어)

 


 

▷ INSERT

 

테이블에 새로운 행을 추가하여 테이블의 행 개수를 증가시키는 구문

▷ INSERT ALL

 

INSERT 시 서브쿼리가 사용하는 테이블이 같은 경우
두 개 이상의 테이블에 INSERT ALL을 이용하여 한 번에 삽입 가능
단, 각 서브쿼리의 조건절이 같아야 함

 

 


 

▷ UPDATE

 

테이블에 기록된 컬럼의 값을 수정하는 구문으로 테이블의 전체 행 개수에는 변화가 없음

 

 

 

조건절을 설정하지 않고 UPDATE 구문 실행 시 모든 행의 컬럼 값 변경

UPDATE DEPARTMENT2
SET DEPT_TITLE = '인사팀';

 


* 여러 컬럼을 한번에 수정할 시 콤마(,)로 컬럼을 구분하면됨.

 

 D9 / 총무부  -> D0 / 전략기획2팀으로 수정

UPDATE DEPARTMENT2
SET
		DEPT_ID = 'D0',
		DEPT_TITLE = '전략기획2팀'
WHERE 
		DEPT_ID = 'D9'
AND	
		DEPT_TITLE = '총무부';

 


 

▷ MERGE

 

구조가 같은 두 개의 테이블을 하나의 테이블로 합치는 기능 제공
두 테이블에서 지정하는 조건의 값이 존재하면 UPDATE되고 조건의 값이 없으면 INSERT 함

 


 

▷ DELETE

 

테이블의 행을 삭제하는 구문으로 테이블의 행 개수가 줄어듦

 

 

 


 

▷ TRUNCATE

 

- 테이블 전체 행 삭제 시 사용 하는 DDL로

  DELETE보다 수행 속도가 빠르고 ROLLBACK을 통해 복구 불가능


- 또한 DELETE와 마찬가지로 FOREIGN KEY 제약조건일 때는 적용 불가능하기 때문에
제약 조건을 비활성화 해야 삭제할 수 있음

'BackEnd > MySQL' 카테고리의 다른 글

[DB] DDL(Data Definition Language) ALTER, DROP  (0) 2024.09.17
[DB] DDL(Data Definition Language) CREATE  (1) 2024.08.25
[DB] SUBQUERY(서브쿼리)  (0) 2024.08.25
[DB] JOIN  (0) 2024.08.25
[DB] GROUP BY, HAVING  (1) 2024.08.25