

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Differenze tra un database relazionale (SQL) e DynamoDB durante l’eliminazione di dati da una tabella
<a name="SQLtoNoSQL.DeleteData"></a>

Con SQL, userai l'istruzione `DELETE` per recuperare una o più righe da una tabella. Amazon DynamoDB utilizza l'operazione `DeleteItem` per eliminare un elemento alla volta.

**Topics**
+ [Eliminazione dei dati da una tabella con SQL](#SQLtoNoSQL.DeleteData.SQL)
+ [Eliminazione dei dati da una tabella in DynamoDB](#SQLtoNoSQL.DeleteData.DynamoDB)

## Eliminazione dei dati da una tabella con SQL
<a name="SQLtoNoSQL.DeleteData.SQL"></a>

In SQL, usi l'istruzione `DELETE` per eliminare una o più righe. La clausola `WHERE` determina le righe che vuoi modificare. Di seguito è riportato un esempio di :

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

Puoi modificare la clausola `WHERE` per eliminare più righe. Ad esempio, potresti eliminare tutti i brani di un artista particolare, come mostrato nell'esempio seguente.

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

## Eliminazione dei dati da una tabella in DynamoDB
<a name="SQLtoNoSQL.DeleteData.DynamoDB"></a>

In DynamoDB, puoi utilizzare l'API DynamoDB o [PartiQL](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.html), un linguaggio di query compatibile con SQL, per eliminare un singolo elemento. Se vuoi modificare più elementi, devi utilizzare più operazioni.

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

Con l’API DynamoDB, utilizzi l'operazione `DeleteItem` per eliminare i dati da una tabella, un elemento alla volta. Devi specificare i valori delle chiavi primarie dell'item.

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

**Nota**  
Oltre a `DeleteItem`, Amazon DynamoDB supporta un'operazione `BatchWriteItem` per l'eliminazione di più elementi contemporaneamente.

`DeleteItem` supporta le *scritture condizionali*, in cui l'operazione ha esito positivo solo se una specifica `ConditionExpression` restituisce true. Ad esempio, la seguente `DeleteItem` operazione elimina l'elemento solo se ha un attributo. *RecordLabel*

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

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

Con PartiQL, puoi utilizzare la dichiarazione `Delete` attraverso l’operazione `ExecuteStatement` per eliminare i dati da una tabella, un elemento alla volta. Devi specificare i valori delle chiavi primarie dell'item.

La chiave principale di questa tabella è costituita da *Artist* e *SongTitle*. Dovrai specificare i valori per questi attributi.

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

Puoi anche specificare ulteriori condizioni per l’operazione. La seguente operazione `DELETE` elimina l'elemento solo se ha più di 11 *Awards (Premi)*.

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

**Nota**  
Per esempi di codice che utilizzano `DELETE` e `ExecuteStatement`, consulta [Istruzioni DELETE PartiQL per DynamoDB](ql-reference.delete.md).

------