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"
}
}
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