Sql Delete: Para Eliminar Registros

El comando SQL DELETE, lo puede utilizar para eliminar en sql, las filas de una tabla y si lo usa con asociado con la clausula WHERE es posible seleccionar las filas relevantes que se eliminarán.

Es importante que antes de usar el comando SQL DELETE, realice una respaldo o backup a la base de datos o, al menos, de la tabla que desea eliminar. Por lo tanto, si hay un manejo inadecuado, siempre es posible restaurar los datos.

Sintaxis comando SQL Delete

La sintaxis para eliminar filas es la siguiente:

DELETE FROM `tabla`
WHERE condición 

En la sintaxis anterior, primero escribiremos el nombre de la tabla de la que queremos eliminar los datos después de usar las palabras clave en SQL DELETE FROM. Luego usaremos una condición, después de la cláusula WHERE.

Precaución: si no hay una condición WHERE, todas las filas se eliminarán y la tabla estará vacía.

Ejemplo del comando SQL Delete

Imagine una tabla de «empleado».

Tabla «empleado»:

identificaciónnombreFecha
1Daniel2012-02-13
2José2012-04-03
3Guillermo2012-04-12
4Rosa2012-06-24
5Natalie2012-07-02

Si quiere Borrar todos los registro de una tabla, debe utilizar el comando SQL DELETE sin utilizar una cláusula condicional where. 

DELETE FROM Empleado

También puede utilizar el comando TRUNCATE,  de la siguiente manera:

TRUNCATE TABLE Empleado

Esta solicitud es similar. La principal diferencia es que el comando TRUNCATE reinicializará el autoincremento si lo hay. Mientras que el comando SQL DELETE no reinicializa el autoincremento.

Eliminar fila con SQL Delete y la clausula where

 La cláusula WHERE es la clave para este nivel de control, ya que le permite especificar las condiciones que deben cumplir los registros para ser eliminados. En este ejemplo, exploraremos la técnica para ayudarlo a aprovechar todo el poder de la cláusula WHERE y apuntar a registros específicos para su eliminación.

Se puede eliminar una fila realizando la siguiente consulta SQL:

DELETE FROM empleado
WHERE id = 4

sql delete
Una vez completada esta consulta, la tabla contendrá los siguientes datos:

identificaciónnombreFecha
1Daniel2012-02-13
2José2012-04-03
3Guillermo2012-04-12
5Natalie2012-07-02

Ejemplo de DELETE con Operadores comparación:

use operadores de comparación como =, <>, <, >, <=y >=  Si desea eliminar varias filas en SQL  según criterios específicos. Por ejemplo:

Para eliminar los empleados que se registraron antes del 10/04/2012, debe realizar esta solicitud:

DELETE FROM empleado
WHERE fecha < '2012-04-10'

La consulta eliminará a los usuarios «Daniel» y «José». A continuación, la tabla contendrá los siguientes datos:

identificaciónnombreFecha
1Daniel2012-02-13
2José2012-04-03
3Guillermo2012-04-12
4Rosa2012-06-24
5Natalie2012-07-02

Debe recordarse que es posible utilizar otras condiciones para seleccionar las filas que se eliminarán.

Ejemplo de DELETE con Operadores lógicos:

combine múltiples condiciones utilizando los operadores lógicos , y para crear filtros más ANDcomplejos ORNOT Por ejemplo:

DELETE FROM empleado
WHERE nombre = 'Rosa' AND Fecha = '2012-06-24';

Esta declaración elimina de la tabla empleado donde se cumplen las dos condiciones,  Rosa y de fecha 2012-06-24.

utilice los operadores INBETWEENpara eliminar registros en función de un rango de valores o una lista de valores específicos. Por ejemplo:

DELETE FROM empleado
WHERE FECHA BETWEEN '2012-04-12' OR '2012-06-24';

Esta declaración elimina la información de la tabla EMPLEADO con una de las dos fechas de la consulta.

DELETE FROM Eempleado
WHERE NOMBRE IN ('Guillermo', 'Rosa');

Esta declaración elimina la información con el nombre ‘Guillermo’ o ‘Rosaa’.

use el LIKEoperador con caracteres comodín ( %_) para eliminar registros basados ​​en coincidencias parciales. Por ejemplo:

DELETE FROM empleado
WHERE NOMBRE LIKE '%Daniel';

Esta declaración elimina de la tabla empleado  el registro con el nombre ‘Daniel’.

Nota: Al dominar la cláusula WHERE y aprovechar todo su potencial, puede apuntar a registros específicos con confianza y precisión.

Comandos para eliminar en SQL: DELETE, TRUNCATE y DROP TABLE

Hay algunos otros comandos en SQL como DROP y TRUNCATE table que también se usan para eliminar información. Pero difieren entre sí ligeramente en las siguientes formas:

DELETETRUNCATEDROP
El comando DELETE para eliminar una o más filas en una tabla.instrucción TRUNCATE, borra todas las informaciones.Declaración DROP que elimina todos los registros de la tabla y también destruye la estructura de la tabla.
Es una declaración de lenguaje de administración de datos (DML).Pertenece al grupo de comando (DDL).También es una declaración del lenguaje de definición de datos (DDL).
Podemos usar una cláusula WHERE o TOP.No funciona con cláusula WHERE o TOP.Tampoco usa WHERE o TOP.
Podemos realizar una operación de reversión para deshacer una instrucción de tabla DELETE.No podemos realizar una operación de reversión para deshacer una instrucción de tabla TRUNCATE.No podemos realizar una operación de reversión para deshacer una declaración de tabla DROP.
La información no se eliminan de forma permanente.Las filas de la tabla se eliminan de forma permanente.La tabla y todas sus relaciones, índice, privilegios, etc. se eliminan de forma permanente.

Resumen

La declaración SQL DELETE es un comando de lenguaje de administración de datos (DML) que se usa para eliminar una o más filas en una tabla o vista.

Al leer esta guía, aprendió cómo eliminar datos usando la declaración DELETE. También aprendió cómo SQL maneja DELETE las operaciones que entran en conflicto con las restricciones de clave externa y cómo cambiar ese comportamiento predeterminado.

Los comandos descritos aquí deberían funcionar en cualquier sistema que utilice SQL SERVER. Sin embargo, SQL usa su propia implementación única del lenguaje, por lo que debe consultar la documentación oficial de su DBMS para obtener una descripción más completa de cómo maneja la declaración SQL DELETE y qué opciones están disponibles para ella.

Si quiere seguir aprendiendo SQL, le recomendamos que consulte: Cómo usar comandos SQL.

Deja un comentario