En SQL, DELETE se utiliza para eliminar uno o varios registros de una tabla. La sintaxis básica de DELETE es la siguiente:
DELETE FROM nombre_de_la_tabla WHERE condición_de_selección;
Explicando cada uno de los elementos de la sintaxis:
DELETE FROM
: esta es la cláusula que indica que se eliminarán registros de una tabla específica.nombre_de_la_tabla
: aquí se especifica el nombre de la tabla de la que se eliminarán los registros.WHERE
: esta es una cláusula opcional que se utiliza para especificar una condición de selección que debe cumplir un registro para ser eliminado. Si no se especifica ninguna condición de selección, se eliminarán todos los registros de la tabla.condición_de_selección
: aquí se especifica la condición de selección que se utilizará para identificar los registros que se eliminarán.
Por ejemplo, para eliminar todos los registros de la tabla «usuarios» donde el campo «estado» sea «inactivo», la consulta SQL sería la siguiente:
DELETE FROM usuarios WHERE estado = 'inactivo';
Es importante tener cuidado al utilizar la instrucción DELETE, ya que eliminará los registros de manera permanente y no se podrán recuperar. Por lo tanto, se recomienda hacer una copia de seguridad de los datos antes de ejecutar una consulta DELETE.
Ejemplos de Delete en SQL
Eliminar un solo registro de una tabla:
DELETE FROM clientes WHERE id_cliente = 100;
En este ejemplo, se elimina el registro de la tabla «clientes» que tiene un valor de «id_cliente» de 100.
Eliminar todos los registros de una tabla:
DELETE FROM pedidos;
En este ejemplo, se eliminan todos los registros de la tabla «pedidos». La cláusula WHERE no se incluye, lo que significa que todos los registros de la tabla serán eliminados.
Eliminar registros de una tabla según una condición:
DELETE FROM productos WHERE precio > 100;
En este ejemplo, se eliminan los registros de la tabla «productos» donde el precio es mayor a 100. Solo los registros que cumplen con esta condición serán eliminados.
Eliminar registros de varias tablas a la vez:
DELETE clientes, pedidos
FROM clientes
INNER JOIN pedidos ON clientes.id_cliente = pedidos.id_cliente
WHERE clientes.nombre = 'Juan';
En este ejemplo, se eliminan registros de las tablas «clientes» y «pedidos» al mismo tiempo. Solo se eliminan los registros donde el nombre del cliente es ‘Juan’, utilizando una cláusula INNER JOIN para unir ambas tablas.
Es importante tener cuidado al utilizar la instrucción DELETE, ya que eliminará los registros de manera permanente y no se podrán recuperar. Por lo tanto, se recomienda hacer una copia de seguridad de los datos antes de ejecutar una consulta DELETE.