728x90

MSSQL DROP TABLE 제대로 사용하기 – 안전한 테이블 삭제 방법 총정리
DROP TABLE은 SQL Server에서 기존 테이블을 완전히 삭제할 때 사용하는 T-SQL 명령어입니다.
삭제된 테이블은 복구가 불가능하므로, 신중하게 사용해야 합니다.
1. 기본 사용법
가장 간단한 형태는 다음과 같습니다:
DROP TABLE Users;
이 명령을 실행하면 Users 테이블의 구조와 데이터가 모두 영구적으로 삭제됩니다.
---
2. 여러 테이블 동시 삭제
쉼표(,)로 구분하면 여러 테이블을 한 번에 삭제할 수 있습니다 (SQL Server 2016 이상):
DROP TABLE Orders, OrderItems, Logs;
단, 외래키(Foreign Key) 제약조건이 연결되어 있다면 오류가 발생할 수 있습니다.
---
3. 삭제 전 테이블 존재 여부 확인
삭제하려는 테이블이 없을 경우 오류가 발생하기 때문에, 존재 여부를 체크하고 삭제하는 방식이 더 안전합니다.
IF OBJECT_ID('Users', 'U') IS NOT NULL
DROP TABLE Users;
OBJECT_ID(): 테이블이 존재하면 해당 ID를 반환'U': User-defined 테이블을 의미
---
4. 외래 키 제약조건이 있는 경우
다른 테이블에서 외래키로 참조되고 있는 테이블은 바로 삭제할 수 없습니다.
이 경우, 먼저 외래 키 제약조건을 삭제한 뒤 테이블을 DROP해야 합니다.
ALTER TABLE OrderItems
DROP CONSTRAINT FK_OrderItems_Orders;
DROP TABLE Orders;
제약조건 이름은 다음 쿼리로 확인할 수 있습니다:
SELECT * FROM sys.foreign_keys WHERE parent_object_id = OBJECT_ID('OrderItems');
---
5. 임시 테이블 삭제
임시 테이블은 세션 종료 시 자동 삭제되지만, 명시적으로 DROP할 수도 있습니다.
DROP TABLE #TempTable;
글로벌 임시 테이블도 같은 방식으로 삭제 가능합니다:
DROP TABLE ##GlobalTemp;
---
실무 팁 💡
- 운영 환경에서는 절대 실시간 DROP을 하지 마세요. 백업을 반드시 선행하고, 삭제 계획은 승인 절차를 거쳐야 합니다.
- 테이블 삭제 전에는 외래키, 뷰, 프로시저 등 연관 객체 의존성도 확인하세요.
- SSMS에서는 ‘개체 탐색기 → 테이블 우클릭 → 삭제’ 기능도 사용 가능하지만, 대규모 삭제 작업은 T-SQL로 하는 것이 안전합니다.
---
마무리
DROP TABLE은 강력하지만 위험한 명령어입니다.
실수로 실행하면 데이터와 구조가 모두 삭제되므로, 항상 존재 여부를 확인하고, 외래키 의존성까지 고려한 후 실행하는 습관을 들이세요.
정확하고 신중한 T-SQL 사용이 실무 안전성을 높이는 핵심입니다.
728x90
'Database > MSSQL' 카테고리의 다른 글
| MSSQL 인덱스(Index)의 종류와 생성 방법 (0) | 2025.05.18 |
|---|---|
| MSSQL 기본 키(Primary Key)와 외래 키(Foreign Key) 설정 방법 (0) | 2025.05.17 |
| MSSQL ALTER TABLE 완벽 가이드 (0) | 2025.05.15 |
| MSSQL CREATE TABLE 완전 정리 (0) | 2025.05.15 |
| MSSQL 테이블 생성, 수정, 삭제하는 방법 (0) | 2025.05.14 |