작성 일자 : 2024-08-24
Ver 0.1.1
1. 배경
이제까지는 프로젝트를 하면서 SQL 사용시 DELETE 문을 사용할 일이 거의 없었다.
권한 자체를 주지 않을 뿐더러 인터페이스 되고 있는 데이터를 지울 필요가 없었기 때문이다.
하지만 새로운 프로젝트를 하며 인터페이스 개발이 되기 전에는 개발 DB에 수동을 데이터를 입력하여 사용하였고,
인터페이스가 개발 되고 난 이후에는 같은 데이터가 하나의 컬럼이 다른 형태로 들어와 데이터를 지워야 할 경우가 생겼다.
이런 경우는 DELETE 문을 사용하여, 수동으로 입력한 데이터를 지울 수 있는데,
SQL에서 특정 조건을 만족하는 행(row)을 삭제하려면 `DELETE` 문을 사용한다. `DELETE` 문에 `WHERE` 절을 추가하면 특정 조건에 맞는 행들만 삭제할 수 있다.
2. 사용법
DELETE 문 기본 구조
DELETE FROM 테이블명
WHERE 조건;
예시
예를 들어, `Employees` 테이블에서 `EmployeeID`가 123인 행을 삭제하려면 다음과 같이 작성할 수 있다.
DELETE FROM Employees
WHERE EmployeeID = 123;
이 쿼리는 `EmployeeID`가 123인 행을 삭제한다.
또 다른 예시로 `Employees` 테이블에서 `DepartmentID`가 10인 모든 행을 삭제하려면:
DELETE FROM Employees
WHERE DepartmentID = 10;
이 쿼리는 `DepartmentID`가 10인 모든 행을 삭제한다.
3. 주의 사항
- WHERE 절: `WHERE` 절을 생략하면 테이블의 모든 행이 삭제됩니다. 예를 들어, `DELETE FROM Employees;`를 실행하면 `Employees` 테이블의 모든 데이터가 삭제된다.
- 트랜잭션: `DELETE` 문은 트랜잭션의 일부로 실행된다. 트랜잭션이 완료되기 전에 `ROLLBACK`을 사용하여 삭제 작업을 되돌릴 수 있으며, `COMMIT`을 사용하면 삭제가 영구적으로 적용된다.
`DELETE` 문은 데이터베이스에서 특정 조건을 만족하는 데이터를 삭제할 때 사용되며, 정확한 조건을 지정하는 것이 매우 중요하다.