DELETE 문은 테이블에서 행을 삭제하는 데 사용됩니다. 테이블에서 특정 행을 제거하려면 WHERE 조건을 사용해야 합니다.
DELETE FROM table_name [WHERE condition];
그러나 WHERE 조건을 지정하지 않으면 테이블에서 모든 행이 제거됩니다.
DELETE FROM table_name;
DROP 문 및 TRUNCATE 문과 같이 DELETE 문과 유사한 용어가 더 있지만 정확히 동일하지는 않으며 약간의 차이점이 있습니다.
DELETE문과 TRUNCATE문의 차이점
delete 문과 truncate 문에는 약간의 차이가 있습니다. 그만큼 DELETE 문 WHERE 절에 정의된 조건에 따라 테이블에서 행만 삭제하거나 조건이 지정되지 않은 경우 테이블에서 모든 행을 삭제합니다.
그러나 테이블에 포함된 공간은 해제되지 않습니다.
그만큼 TRUNCATE 문: 테이블에서 모든 행을 삭제하는 데 사용됩니다. 포함된 공간을 비웁니다.
'직원' 테이블을 살펴보겠습니다.
Emp_id | 이름 | 주소 | 샐러리 |
---|---|---|---|
1 | 아리아 사람 | 알라하바드 | 22000 |
2 | 슈라비 | 바라나시 | 13000 |
삼 | 팟푸 | 델리 | 24000 |
다음 쿼리를 실행하여 테이블을 자릅니다.
TRUNCATE TABLE employee;
DROP 및 TRUNCATE 문의 차이점
drop 문을 사용하면 테이블의 정의와 함께 테이블의 행이 삭제되므로 해당 테이블과 다른 테이블의 모든 관계가 더 이상 유효하지 않게 됩니다.
테이블을 삭제하는 경우:
- 테이블 구조가 삭제됩니다.
- 관계가 끊어지게 됩니다
- 무결성 제약 조건이 삭제됩니다.
- 액세스 권한도 삭제됩니다.
반면에 우리가 자르기 테이블 구조는 동일하게 유지되므로 위의 문제가 발생하지 않습니다.