WHERE 절을 충족하는 FROM 절에 나열된 하나 이상의 테이블에서 레코드를 제거하는 쿼리 삭제를 만듭니다.
구문
DELETE [table.*]
FROM 테이블
WHERE 조건
DELETE 문은 다음과 같이 구성됩니다.
구성 요소 |
설명 |
table |
레코드가 삭제되는 원본 테이블의 선택적 이름입니다. |
table |
레코드가 삭제되는 원본 테이블의 이름입니다. |
criteria |
삭제할 레코드를 결정하는 식입니다. |
주의
DELETE는 많은 레코드를 삭제하려는 경우 특히 유용합니다.
데이터베이스에서 전체 테이블을 삭제하기 위해 DROP 문에서 Execute 메서드를 사용할 수 있습니다. 그러나 테이블을 삭제하면 구조가 손실됩니다. 이와 달리 DELETE를 사용하면 데이터만 삭제되고, 테이블 구조와 모든 테이블 속성(예: 필드 특성 및 인덱스)은 그대로 유지됩니다.
DELETE를 사용하여 다른 테이블과 일대다 관계에 있는 테이블에서 레코드를 제거할 수 있습니다. 하위 삭제 작업을 수행하면 일대다 관계의 일 쪽에 있는 해당 레코드가 쿼리에서 삭제될 때 관계의 다 쪽에 있는 테이블의 레코드도 삭제됩니다. 예를 들어, Customers 및 Orders 테이블 간의 관계에서 Customers 테이블은 일 쪽에 있고 Orders 테이블은 관계의 다 쪽에 있습니다. 하위 삭제 옵션이 지정된 경우 Customers 테이블에서 레코드를 삭제하면 해당하는 주문 레코드도 삭제됩니다.
삭제 쿼리는 특정 필드의 데이터뿐만 아니라 전체 레코드를 삭제합니다. 특정 필드에서 값을 삭제하려면 값을 Null로 변경하는 업데이트 쿼리를 만듭니다.
중요:
-
삭제 쿼리를 사용하여 레코드를 제거한 후에는 작업을 실행 취소할 수 없습니다. 삭제된 레코드를 확인하려면 먼저 동일한 기준을 사용하는 선택 쿼리의 결과를 검토한 후 삭제 쿼리를 실행합니다.
-
데이터의 백업 복사본을 항상 유지합니다. 잘못된 레코드를 삭제하는 경우 백업 복사본에서 해당 레코드를 검색할 수 있습니다.