Database 3

[SQL] MERGE INTO 사용해서 한번에 데이터를 옮겨보자

A라는 테이블에서 B라는 테이블에 데이터를 옮길 때 하나하나 데이터를 처리하지 않고 MERGE INTO를 사용하여 바로 넣을 수 있는 방법이다. MERGE INTO MERGE INTO 테이블1_이름 AS A USING 테이블2_이름 AS B ON (A와 B의 조건문) WHEN MATCHED [AND 추가 조건문1] THEN -- UPDATE문 작성 -- DELETE문 작성 WHEN MATCHED [AND 추가 조건문2] THEN -- UPDATE문 작성 -- DELETE문 작성 WHEN NOT MATCHED [AND 추가 조건문3] THEN -- INSERT문 작성 조건문도 추가해 줄 수 있어서, 상황에 맞춰서 INSERT, UPDATE, DELETE를 사용해주면 된다. 하지만, NOT MATCHED 에..

코딩/SQL 2022.11.20

[SQL] TRUNCATE, DELETE, DROP 차이점 정리

얼마 전에 처음으로 TRUNCATE를 사용해 보았다. 항상 데이터를 지울 때는 DELETE만 사용해야 하는 줄 알았는데, 무슨 차이가 있어서 TRUNCATE를 사용해야 했는지 차이점을 정리해 본다. DELETE 문 DELETE FROM [테이블_명] WHERE 조건문; TRUNCATE 문 TRUNCATE TABLE [테이블_명] DROP 문 DROP TABLE [테이블_명] DELETE & TRUNCATE & DROP 차이점 DELETE TRUNCATE DROP 명령어 종류 DML DDL DDL WHERE 사용 여부 가능 불가 불가 ROLLBACK 가능 여부 가능 불가 불가 생성된 인덱스 보존 삭제 삭제 테이블 용량 보존 삭제 삭제 비고 한 행씩 삭제되는 트랜잭션 로그 수행 (느림) 모든 데이터 삭제 트..

코딩/SQL 2022.11.08