IT용어위키


SQL DELETE 구문

SQL의 DELETE 구문은 테이블에서 특정 조건에 해당하는 데이터를 삭제할 때 사용하는 명령어이다. 전체 행을 제거하거나 WHERE 절을 통해 특정 행만 선택적으로 삭제할 수 있다.

기본 문법

DELETE FROM 테이블명
[WHERE 조건];
  • WHERE 절을 생략하면 테이블의 모든 행이 삭제되며, 테이블 구조는 남는다.

예시 테이블

employees 테이블이 다음과 같다고 가정한다.

id name department salary
1 Alice IT 6000
2 Bob HR 4000
3 Carol IT 7000
4 Dave Sales 4500

조건부 삭제

1. 특정 부서 직원 삭제

DELETE FROM employees
WHERE department = 'HR';

→ Bob이 삭제됨

id name department salary
1 Alice IT 6000
3 Carol IT 7000
4 Dave Sales 4500

기본 키 기준 삭제

2. ID가 4인 직원 삭제

DELETE FROM employees
WHERE id = 4;

→ Dave가 삭제됨

전체 삭제

3. 테이블의 모든 데이터를 삭제

DELETE FROM employees;

→ 모든 행 삭제, 하지만 테이블 구조는 그대로 유지

테이블 자체 제거와의 비교

  • DELETE: 데이터만 삭제, 테이블 구조 유지
  • TRUNCATE: 데이터 전부 삭제, 롤백 불가능 (DBMS에 따라 다름)
  • DROP: 테이블 전체 제거 (구조 + 데이터)

주의 사항

  • WHERE 절을 빠뜨리면 의도치 않게 전체 데이터가 삭제될 수 있음
  • DELETE는 트랜잭션 처리 가능 → ROLLBACK으로 복원 가능
  • 외래 키 제약 조건(FK)에 의해 삭제가 차단되거나 CASCADE 삭제 발생 가능

같이 보기

참고 문헌

  • Melton, J., & Simon, A. R. (2002). SQL: 1999 – Understanding Relational Language Components. Morgan Kaufmann.
  • MySQL Reference Manual
  • PostgreSQL Documentation
  • Oracle SQL Language Reference

  출처: IT위키 (IT위키에서 최신 문서 보기)

  * 본 페이지는 IT Wiki에서 미러링된 페이지입니다. 일부 오류나 표현의 누락이 있을 수 있습니다. 원본 문서는 IT Wiki에서 확인하세요!