▶ 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 |