본문 바로가기
[개발] Programming/Database

DELETE 쿼리 (오라클, MSSQL) 사용 방법, 주의 사항

by eatyourKimchi 2022. 11. 8.

 

DB DELETE 쿼리

 

쉬운 쿼리지만 실수하면 장애를 유발할 수 있는 delete(삭제) 문에 대해 알려드리겠습니다ㅎㅎ

대부분 DB가 동일한 delete 쿼리문을 사용하니 알아두시면 유용할 것입니다.

아래 데이터를 예로 쿼리 사용법을 예시와 함께 설명하겠습니다.

 

 

테스트용 테이블 StudentGradeTBL

 

name studentNo grade
홍길동 S01 A
홍길동 S02 B
정길동 S03 B
김길동 S04 C
박길동 S05 F

 

 

01 오라클 DELETE 쿼리

DELETE 쿼리 문법 : 

DELETE FROM 테이블명 WHERE 조건 ;

 

DELETE 쿼리 사용 예시 : 

DELETE FROM StudentGradeTBL WHERE studentNo = 'S05' ;

 

쿼리 해석 : 

삭제 쿼리 문법은 테이블 명과 WHERE 조건만 잘 입력하면 되죠.

조건이 여러 개면 아래와 같이 AND를 사용하면 됩니다.

최종적으로 반영하려면 반드시 commit;도 실행해야 됩니다.

-- 하나의 데이터 삭제
DELETE FROM StudentGradeTBL 
WHERE studentNo = 'S05' and name = '박길동';

-- 최종적으로 DB에 반영 (취소 불가)
commit;

 

주의사항 : 

삭제 쿼리에 WHERE 조건을 정확하게 입력하지 않으면 다른 데이터도 날릴 수 있습니다.

조건을 하나도 쓰지 않으면 테이블에 모든 데이터가 삭제되죠..

다행인 건 오라클에서는 commit; 을 입력하기 전에는 rollback;이 가능합니다.

그래서 쿼리를 실수로 이미 실행했다면, rollback; 을 입력하여 복구할 수 있습니다.

 

 

02 MSSQL DELETE 쿼리

DELETE 쿼리 문법 :

DELETE FROM StudentGradeTBL WHERE studentNo = 'S05' ;

 

DELETE 쿼리 사용 예시 : 

DELETE FROM StudentGradeTBL WHERE studentNo = 'S05' ;

 

쿼리 해석 : 

삭제 쿼리 문법은 테이블 명과 WHERE 조건만 잘 입력하면 되죠.

조건이 여러 개면 아래와 같이 AND를 사용하면 됩니다.

단, MSSQL에서는 commit 하지 않아도 바로 반영되니 주의해야 합니다!

-- 하나의 데이터 삭제
DELETE FROM StudentGradeTBL 
WHERE studentNo = 'S05' and name = '박길동';

 

주의사항 : 

삭제 쿼리에 WHERE 조건을 정확하게 입력하지 않으면 다른 데이터도 날릴 수 있습니다.

조건을 하나도 쓰지 않으면 테이블에 모든 데이터가 삭제되죠..

기본 MSSQL에서 삭제된 데이터는 복구할 수 없습니다.

 

 

03 DELETE 쿼리 사용 팁

삭제 쿼리 사용 팁을 드리면, SELECT 문으로 대상 데이터를 먼저 조회한 뒤에

WHERE 절만 복사해서 DELETE 문에 붙여서 넣고 쓰는 걸 추천합니다.

그럼 대상 값을 미리 확인 후 삭제를 하게 되므로 안전하게 실행할 수 있습니다.

 

 

 

 

 

댓글