logo

SQL 삭제 테이블

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 문을 사용하면 테이블의 정의와 함께 테이블의 행이 삭제되므로 해당 테이블과 다른 테이블의 모든 관계가 더 이상 유효하지 않게 됩니다.

테이블을 삭제하는 경우:

  • 테이블 구조가 삭제됩니다.
  • 관계가 끊어지게 됩니다
  • 무결성 제약 조건이 삭제됩니다.
  • 액세스 권한도 삭제됩니다.

반면에 우리가 자르기 테이블 구조는 동일하게 유지되므로 위의 문제가 발생하지 않습니다.