Índice

La eliminación de datos Lenguaje de manipulación de datos:eliminación de datos

La eliminación no es el comando más utilizado pero es importante conocer su sintaxis. Hay que poner mucha atención al utilizar el DELETE ya que frecuentemente se eliminan más filas de las previstas.

Para evitar esto, dos consejos: probar previamente con un SELECT la cláusula WHERE para verificar el número de filas afectadas, y utilizar con buen criterio los comandos COMMIT y ROLLBACK que detallaremos en el capítulo El control de transacciones (TCL).

1. El comando DELETE

El comando DELETE DELETE permitirá eliminar una o varias filas de una tabla.

La sintaxis del comando DELETE es simple si no limitamos las filas. Si no se indica la cláusula WHERE, se borrarán todas las filas de la tabla.

Si son tablas grandes, se desaconseja utilizar un DELETE sin WHERE, ya que existe riesgo de colapsar el sistema, que no podrá almacenar todas las filas borradas para poderlas restituir si se pide un ROLLBACK (ver capítulo Profundizando).

Una consulta DELETE puede no realizarse si no se cumple una restricción de integridad al eliminar una fila.

Ejemplo de eliminación de todas las filas de una tabla

DELETE FROM Habitaciones;

Para eliminar solo algunas filas hay que añadir la cláusula WHERE.

Se pueden utilizar todas las posibilidades de la sintaxis utilizada para el SELECT. 

Por ejemplo, para eliminar las filas de la tabla Habitaciones insertadas anteriormente que tengan un número ...