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 Stru­c­tu­red Query Language ofrece la sentencia SQL DELETE. Se utiliza para ordenar al sistema que elimine una o más entradas es­pe­cí­fi­cas. Para ga­ra­n­ti­zar que solo se eliminan de la tabla los datos deseados, el uso de la sentencia WHERE es de gran im­po­r­ta­n­cia. Si omites este añadido, se eli­mi­na­rán todas las entradas de la tabla. Por lo tanto, hay que tener mucho cuidado.

Se­r­vi­do­res virtuales (VPS)
VPS rentables en se­r­vi­do­res Dell En­te­r­pri­se
  • 1 Gb/s de ancho de banda y tráfico ilimitado
  • 99,99 % de tiempo de actividad y ce­r­ti­fi­ca­ción ISO
  • Soporte 24/7 ga­la­r­do­na­do y asesor personal

Sintaxis y fu­n­cio­na­li­dad

En la sintaxis de SQL DELETE, la es­pe­ci­fi­ca­ció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 pro­pia­me­n­te dicho y se es­pe­ci­fi­ca 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 co­n­si­de­ra­rá 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 di­fe­re­n­tes 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 in­s­tru­c­ció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 se­le­c­cio­nar el apellido ‘Martín’ como condición en WHERE.

La eli­mi­na­ció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, eli­mi­na­rás todas las entradas. La tabla seguirá exi­s­tie­n­do, pero quedará vacía después de ejecutar el comando. Con nuestro ejemplo, esta sería la in­s­tru­c­ció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 co­rre­s­po­n­die­n­te:

DROP TABLE Lista de clientes;
sql

Comandos similares a SQL DELETE

Una al­te­r­na­ti­va a SQL DELETE es el comando TRUNCATE TABLE. Sin embargo, éste solo puede uti­li­zar­se para eliminar todas las entradas de una tabla a la vez. Además, no es co­m­pa­ti­ble con una condición WHERE. Para crear tablas puedes utilizar SQL CREATE TABLE. Se re­co­mie­n­da realizar copias de seguridad con re­gu­la­ri­dad para evitar que se borren datos de forma ac­ci­de­n­tal. Para ello, utiliza SQL BACKUP DATABASE.

Consejo

¡Be­ne­fí­cia­te del máximo re­n­di­mie­n­to! Con el Hosting SQL Server de IONOS puedes elegir entre MSSQL, MySQL y MariaDB. Con todas las opciones di­s­po­n­drás de asi­s­te­n­cia, alta velocidad y una ar­qui­te­c­tu­ra de seguridad de primera clase.

Ir al menú principal