Diferencias entre una base de datos relacional (SQL) y DynamoDB al eliminar datos de una tabla - Amazon DynamoDB

Diferencias entre una base de datos relacional (SQL) y DynamoDB al eliminar datos de una tabla

En SQL, se utiliza la instrucción DELETE para eliminar una o varias filas de una tabla. Amazon DynamoDB utiliza la operación DeleteItem para eliminar los elementos de uno en uno.

Eliminación de datos de una tabla con SQL

En SQL, se utiliza la instrucción DELETE para eliminar una o varias filas. La cláusula WHERE determina qué filas se van a modificar. A continuación, se muestra un ejemplo.

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

Puede modificar la cláusula WHERE para eliminar varias filas. Por ejemplo, puede eliminar todas las canciones de un determinado intérprete, como se muestra en el siguiente ejemplo.

DELETE FROM Music WHERE Artist = 'The Acme Band'

Eliminación de datos de una tabla en DynamoDB

En DynamoDB, puede utilizar la API clásica o PartiQL (un lenguaje de consulta compatible con SQL) para eliminar un solo elemento. Si desea modificar varios elementos, debe utilizar varias operaciones.

DynamoDB API

Con la API de DynamoDB, se utiliza la operación DeleteItem para eliminar datos de una tabla, de elemento en elemento. Debe especificar los valores de clave principal del elemento.

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

Además de DeleteItem, Amazon DynamoDB admite la operación BatchWriteItem para eliminar varios elementos a la vez.

DeleteItem admite las escrituras condicionales, en las que la operación únicamente se lleva a cabo correctamente si una expresión ConditionExpression determinada se evalúa en true. Por ejemplo, la operación DeleteItem siguiente elimina un elemento únicamente si tiene el atributo RecordLabel.

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

Con PartiQL, se utiliza la instrucción Delete mediante la operación ExecuteStatement para eliminar datos de una tabla, de elemento en elemento. Debe especificar los valores de clave principal del elemento.

La clave principal de esta tabla consta de Artist y SongTitle. Debe especificar los valores de estos atributos.

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

También puede especificar condiciones adicionales para la operación. La siguiente operación DELETE solo elimina el elemento si tiene más de 11 Awards (Premios).

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

Para obtener ejemplos de código mediante DELETE y ExecuteStatement, consulte Instrucciones de eliminación de PartiQL para DynamoDB.