MySQL의 DELETE 명령은 테이블에서 하나 이상의 행(row)을 삭제할 때 사용하는 명령어입니다. 일반적으로 WHERE 절과 함께 사용되어, 조건에 맞는 특정 행만 선택적으로 제거할 수 있습니다.
기본 문법
DELETE FROM Table_name WHERE Condition;
WHERE 절을 생략하면 테이블의 모든 행이 삭제되므로, 실무에서는 반드시 삭제 조건을 명확히 지정하는 것이 안전합니다.
사용 예제
아래 예제에서는 'employee' 테이블에서 id >= 100 조건을 만족하는 모든 행을 삭제하는 과정을 보여줍니다.
mysql> select * from employee; +------+--------+ | Id | name | +------+--------+ | 100 | Ram | | 200 | Gaurav | | 300 | MOHAN | +------+--------+ 3 rows in set (0.00 sec) mysql> delete from employee where id >=100; Query OK, 3 rows affected (0.06 sec) mysql> select * from employee; Empty set (0.00 sec)
예제 설명
처음 SELECT 문으로 확인한 결과, employee 테이블에는 3개의 행이 존재했습니다. 이후 DELETE FROM employee WHERE id >= 100; 문을 실행하면 조건에 해당하는 3개의 행이 모두 삭제됩니다. 마지막으로 다시 SELECT 문을 실행하면 결과가 비어 있는 것(Empty set)을 확인할 수 있습니다.
DELETE 사용 시 주의사항
- WHERE 절 생략 주의: WHERE 절 없이 실행하면 테이블의 전체 데이터가 삭제됩니다.
- 백업 권장: 중요한 데이터를 삭제하기 전에는 반드시 백업을 수행하세요.
- 트랜잭션 활용: 실수를 방지하려면 트랜잭션(BEGIN, ROLLBACK)을 사용해 삭제 작업을 검증한 후 커밋하는 것이 좋습니다.