SQL DELETE: eliminar una o varias entradas de una tabla

SQL DELETE es el comando más sencillo si quieres eliminar una entrada de una tabla. Éste permite el uso de una condición WHERE. Es opcional, pero si se omite, se vaciará toda la tabla.

¿Qué es SQL DELETE?

Cuando se trabaja con tablas, puede ocurrir que una entrada quede obsoleta y, por tanto, ya no deba figurar en el registro de datos. Para eliminar una entrada de este tipo, el Structured Query Language ofrece la sentencia SQL DELETE. Se utiliza para ordenar al sistema que elimine una o más entradas específicas. Para garantizar que solo se eliminan de la tabla los datos deseados, el uso de la sentencia WHERE es de gran importancia. Si omites este añadido, se eliminarán todas las entradas de la tabla. Por lo tanto, hay que tener mucho cuidado.

Servidores virtuales VPS
Virtualización completa con acceso root
  • Ancho de banda de hasta 1 Gb/s y tráfico ilimitado
  • Almacenamiento SSD NVMe ultrarrápido
  • Incluye: edición Plesk Web Host

Sintaxis y funcionalidad

En la sintaxis de SQL DELETE, la especificación está implícita en la adición WHERE. Por lo tanto, el comando SQL siempre se forma de esta manera.

DELETE FROM nombre_de_la_tabla 
WHERE condición;
sql

En la primera línea se inicia el comando propiamente dicho y se especifica la tabla en la que se va a realizar el borrado. La segunda línea es opcional. En ella se indica la condición que debe cumplir una fila para ser eliminada. Si omites esta parte, el sistema considerará todas las filas de la tabla y las eliminará.

Eliminar una o varias entradas

La forma más sencilla de explicar cómo funciona SQL DELETE es con la ayuda de un ejemplo. Para ello, creamos una tabla ficticia llamada “Lista de clientes”. Ésta contiene diferentes entradas para los clientes de una empresa e incluye un número de cliente, el nombre y la ubicación:

Número de cliente Nombre Ciudad
1427 Pérez Madrid
1377 Martín Barcelona
1212 Hernández Barcelona
1431 Rodríguez Sevilla
1118 García Valencia

Si queremos eliminar al cliente Martín de la lista, aplicamos la instrucción del siguiente modo:

DELETE FROM Lista de clientes 
WHERE Número de cliente = 1377;
sql

Como solo el cliente Martín tiene el número de cliente 1377, la tabla se verá de la siguiente manera:

Número de cliente Nombre Ciudad
1427 Pérez Madrid
1212 Hernández Barcelona
1431 Rodríguez Sevilla
1118 García Valencia

Tambén podríamos seleccionar el apellido ‘Martín’ como condición en WHERE.

La eliminación de varios clientes funciona según un principio similar. En nuestro ejemplo, podríamos eliminar todas las entradas con la ubicación Barcelona. Este sería el código para ello:

DELETE FROM Lista de clientes 
WHERE Ciudad = 'Barcelona';
sql

Como dos entradas tienen este valor, la tabla quedaría así:

Número de cliente Nombre Ciudad
1427 Pérez Madrid
1431 Rodríguez Sevilla
1118 García Valencia

Eliminar todas las entradas de una tabla

Si al usar el comando SQL DELETE omites la condición WHERE, eliminarás todas las entradas. La tabla seguirá existiendo, pero quedará vacía después de ejecutar el comando. Con nuestro ejemplo, esta sería la instrucción adecuada:

DELETE FROM Lista de clientes;
sql

Por lo tanto, debes manejar este comando con cuidado.

Eliminar una tabla completa con DROP TABLE

Si deseas eliminar toda la tabla, la sentencia DROP TABLE es la elección correcta. Esta es su sintaxis:

DROP TABLE nombre_de_la_tabla;
sql

Para nuestro ejemplo, éste sería por tanto el código correspondiente:

DROP TABLE Lista de clientes;
sql

Comandos similares a SQL DELETE

Una alternativa a SQL DELETE es el comando TRUNCATE TABLE. Sin embargo, éste solo puede utilizarse para eliminar todas las entradas de una tabla a la vez. Además, no es compatible con una condición WHERE. Para crear tablas puedes utilizar SQL CREATE TABLE. Se recomienda realizar copias de seguridad con regularidad para evitar que se borren datos de forma accidental. Para ello, utiliza SQL BACKUP DATABASE.

Consejo

¡Benefíciate del máximo rendimiento! Con el Hosting SQL Server de IONOS puedes elegir entre MSSQL, MySQL y MariaDB. Con todas las opciones dispondrás de asistencia, alta velocidad y una arquitectura de seguridad de primera clase.

¿Le ha resultado útil este artículo?
Page top