Differenze tra un database relazionale (SQL) e DynamoDB durante l’eliminazione di dati da una tabella - Amazon DynamoDB

Differenze tra un database relazionale (SQL) e DynamoDB durante l’eliminazione di dati da una tabella

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.

Eliminazione dei dati da una tabella con SQL

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.

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

In DynamoDB, puoi utilizzare l'API DynamoDB o PartiQL, 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 operazione DeleteItem elimina l'item 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 primaria per questa tabella è composta dagli attributi 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.