IT/SQLD

MSSQL DELETE 데이터 삭제하기

알콩달콩아빠 2023. 10. 22. 15:46
728x90
반응형

MSSQL의 데이터 삭제 기능인 DELETE문에 대한 사용법과 부가적인 팁에 대한 글입니다.

DELETE란?

데이터베이스 테이블 내 데이터를 삭제하는 명령어입니다.
가장 기본적인 문법 중 하나입니다.
삭제이기 때문에 신중히 사용해야 합니다.

 

DELETE문 사용법

기본 사용법

 
--//문법
 
DELETE 삭제대상 테이블 (WHERE 대상행 조건)
 
 
 
--//예제
 
DELETE TARGET_TABLE --// TARGET_TABLE 모든 데이터 삭제
 
 
 
DELETE TARGET_TALBE WHERE IDX = 10 --// TARGET_TABLE에서 IDX = 10인 ROW 삭제

모든 데이터를 삭제하는 경우는 거의 없기 때문에 DELETE문 역시 WHERE 절을 지원합니다.
WHERE절에 조건을 입력해 지우려는 행을 특정하여 지우시면 되겠습니다.


DELETE FROM 

데이터 삭제를 진행하면서 삭제 대상 테이블 외 다른 테이블을 참조해야 되는 경우 사용합니다.
물론 참조하지 않으면서 사용해도 무방합니다.

 
--//문법
 
DELETE 삭제대상 테이블
 
FROM 삭제대상 테이블 A
 
INNER JOIN 참조할 테이블 B ON (B.FK = A.PK AND B.IDX = 10)
 
 
 
--//예제
 
DELETE TARGET_TABLE
 
FROM TARGET_TABLE A
 
INNER JOIN REFER_TABLE B ON (B.FK = A.PK AND B.IDX = 10)
 
--> REFER_TABLE의 IDX = 10 인 ROW의 FK 값이 TARGET_TABLE 의 PK 값인 데이터를 삭제합니다.

위처럼 TARGET_TABLE에 데이터를 삭제하기 위해 REFER_TABLE의 참조가 필요한 경우
FROM과 JOIN으로 연결하여 삭제를 진행합니다.
삭제 대상 테이블을 ALIAS로 사용하면 가독성 좋게 사용할 수 있습니다.

 
DELETE A
 
FROM TARGET_TABLE A
 
INNER JOIN REFER_TABLE B ON (B.FK = A.PK AND B.IDX = 10)

안전하게 DELETE 하기

DELETE문은 정말 신중해야 합니다. (잘못 삭제하여 데이터가 엎어지면.. 정말 큰일이겠죠?)
그래서 안전한 삭제처리를 위해 제가 주로 사용하는 방법을 소개합니다.
SELECT문을 먼저 작성하여 삭제되는 데이터를 확인 후 DELETE 하는 방법입니다.

 
DELETE A
 
--SELECT A.*
 
FROM TARGET_TABLE A
 
WHERE A.IDX = 10

SELECT 문을 먼저 작성한 뒤 조회해 보고 삭제하려는 데이터가 맞다면
SELECT라인 주석 처리하고 DELETE문을 상단에 작성하여 실행합니다.
DELETE 하기 전 언제라도 SELECT 라인부터 드래그하여 수정될 데이터를 확인할 수 있습니다.


이상 MSSQL DELETE문에 대한 글이었습니다.

도움 되셨다면 공감 부탁드립니다.

 

출처 : MSSQL DELETE 데이터 삭제하기 (tistory.com)

728x90
반응형