

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Différences entre une base de données relationnelle (SQL) et DynamoDB lors de la suppression de données dans une table
<a name="SQLtoNoSQL.DeleteData"></a>

Dans SQL, l’instruction `DELETE` supprime une ou plusieurs lignes d’une table. Amazon DynamoDB utilise l’opération `DeleteItem` pour supprimer un élément à la fois.

**Topics**
+ [Suppression de données d’une table avec SQL](#SQLtoNoSQL.DeleteData.SQL)
+ [Suppression de données d’une table dans DynamoDB](#SQLtoNoSQL.DeleteData.DynamoDB)

## Suppression de données d’une table avec SQL
<a name="SQLtoNoSQL.DeleteData.SQL"></a>

Dans SQL, vous utilisez l’instruction `DELETE` pour supprimer une ou plusieurs lignes. La clause `WHERE` détermine les lignes que vous voulez modifier. Voici un exemple.

```
DELETE FROM Music
WHERE Artist = 'The Acme Band' AND SongTitle = 'Look Out, World';
```

Vous pouvez modifier la clause `WHERE` pour supprimer plusieurs lignes. Par exemple, vous pouvez supprimer tous les morceaux d’un artiste particulier, comme illustré dans l’exemple ci-après :

```
DELETE FROM Music WHERE Artist = 'The Acme Band'
```

## Suppression de données d’une table dans DynamoDB
<a name="SQLtoNoSQL.DeleteData.DynamoDB"></a>

Dans DynamoDB, vous pouvez supprimer un élément unique à l’aide de l’API DynamoDB ou de [PartiQL](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.html) (langage de requête compatible SQL). Si vous voulez modifier plusieurs éléments, vous devez utiliser plusieurs opérations.

------
#### [ DynamoDB API ]

Avec l’API DynamoDB, vous devez utiliser l’opération `DeleteItem` pour supprimer les données d’une table, un élément à la fois. Vous devez spécifier les valeurs de clé primaire de l’élément.

```
{
    TableName: "Music",
    Key: {
        Artist: "The Acme Band",
        SongTitle: "Look Out, World"
    }
}
```

**Note**  
Outre `DeleteItem`, Amazon DynamoDB prend en charge une opération `BatchWriteItem` pour supprimer plusieurs éléments à la fois.

`DeleteItem` prend en charge les *écritures conditionnelles*, où l’opération aboutit uniquement si un attribut `ConditionExpression` a la valeur true. Par exemple, l'`DeleteItem`opération suivante supprime l'élément uniquement s'il possède un *RecordLabel*attribut.

```
{
    TableName: "Music",
    Key: {
        Artist: "The Acme Band",
        SongTitle: "Look Out, World"
    },
   ConditionExpression: "attribute_exists(RecordLabel)"
}
```

------
#### [ PartiQL for DynamoDB ]

Avec PartiQL, vous utilisez l’instruction `Delete` via l’opération `ExecuteStatement` afin de supprimer des données d’une table, un élément à la fois. Vous devez spécifier les valeurs de clé primaire de l’élément.

La clé primaire de cette table comprend *Artist* et *SongTitle*. Vous devez spécifier les valeurs de ces attributs.

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

Vous pouvez également spécifier des conditions supplémentaires pour l’opération. L’opération `DELETE` suivante ne supprime l’élément que s’il a plus de 11 *Awards* (Récompenses).

```
DELETE FROM Music
WHERE Artist = 'Acme Band' AND SongTitle = 'PartiQL Rocks' AND Awards > 11
```

**Note**  
Pour des exemples de code utilisant `DELETE` et `ExecuteStatement`, consultez [Instructions de suppression de PartiQL pour DynamoDB](ql-reference.delete.md).

------