

# DynamoDB의 PartiQL delete 문
<a name="ql-reference.delete"></a>

`DELETE` 문을 사용하면 Amazon DynamoDB 테이블에서 기존 항목을 삭제할 수 있습니다.

**참고**  
항목은 한 번에 하나만 삭제할 수 있습니다. 여러 항목을 삭제하는 단일 DynamoDB PartiQL 문을 실행할 수는 없습니다. 여러 항목을 삭제하는 방법에 대한 자세한 내용은 [DynamoDB용 PartiQL에서 트랜잭션 수행](ql-reference.multiplestatements.transactions.md) 또는 [DynamoDB용 PartiQL에서 일괄 작업 실행](ql-reference.multiplestatements.batching.md) 단원을 참조하세요.

**Topics**
+ [구문](#ql-reference.delete.syntax)
+ [파라미터](#ql-reference.delete.parameters)
+ [반환 값](#ql-reference.delete.return)
+ [예제](#ql-reference.delete.examples)

## 구문
<a name="ql-reference.delete.syntax"></a>

```
DELETE FROM table 
 WHERE condition [RETURNING returnvalues]
 <returnvalues>  ::= ALL OLD *
```

## 파라미터
<a name="ql-reference.delete.parameters"></a>

***테이블*\$1**  
(필수) 삭제할 항목이 포함된 DynamoDB 테이블입니다.

*** 조건***  
(필수) 삭제할 항목의 선택 기준입니다. 이 조건은 단일 기본 키 값으로 확인되어야 합니다.

***returnvalues***  
(선택 사항) 항목 속성이 삭제되기 전에 표시된 해당 속성을 가져오려면 `returnvalues`를 사용합니다. 유효한 값은 다음과 같습니다.  
+ `ALL OLD *` - 이전 항목의 내용이 반환됩니다.

## 반환 값
<a name="ql-reference.delete.return"></a>

이 문은 `returnvalues` 파라미터를 지정하지 않는 경우 값을 반환하지 않습니다.

**참고**  
DELETE가 실행된 대상 항목과 기본 키가 같은 항목이 DynamoDB 테이블에 없는 경우 삭제된 항목이 0개인 SUCCESS가 반환됩니다. 테이블에 기본 키가 같은 항목이 있지만 DELETE 문의 WHERE 절 조건이 false로 평가되는 경우에는 `ConditionalCheckFailedException`이 반환됩니다.

## 예제
<a name="ql-reference.delete.examples"></a>

다음 쿼리는 `"Music"` 테이블의 항목을 삭제합니다.

```
DELETE FROM "Music" WHERE "Artist" = 'Acme Band' AND "SongTitle" = 'PartiQL Rocks'
```

`RETURNING ALL OLD *` 파라미터를 추가하여 삭제된 데이터를 반환할 수 있습니다.

```
DELETE FROM "Music" WHERE "Artist" = 'Acme Band' AND "SongTitle" = 'PartiQL Rocks' RETURNING ALL OLD *
```

이제 `Delete` 문은 다음을 반환합니다.

```
{
    "Items": [
        {
            "Artist": {
                "S": "Acme Band"
            },
            "SongTitle": {
                "S": "PartiQL Rocks"
            }
        }
    ]
}
```