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. [TOC] 

¿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.

173519

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 Santos Nueva York
1377 Johnson Los Ángeles
1212 Brown Los Ángeles
1431 Morales Houston
1118 Davis Miami

Si queremos eliminar al cliente Johnson 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 Johnson tiene el número de cliente 1377, la tabla se verá de la siguiente manera:

Número de cliente Nombre Ciudad
1427 Santos Nueva York
1212 Brown Los Ángeles
1431 Morales Houston
1118 Davis Miami

También podríamos se­le­c­cio­nar el apellido ‘Johnson’ 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 Los Ángeles. Este sería el código para ello:

DELETE FROM Lista de clientes  
WHERE Ciudad = 'Los Ángeles'; 
sql 

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

Número de cliente Nombre Ciudad
1427 Santos Nueva York
1431 Morales Houston
1118 Davis Miami

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 Serverde 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