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.
- 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;
sqlEn 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 | 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 instrucción del siguiente modo:
DELETE FROM Lista de clientes
WHERE Número de cliente = 1377;
sqlComo 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 seleccionar el apellido ‘Johnson’ 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 Los Ángeles. Este sería el código para ello:
DELETE FROM Lista de clientes
WHERE Ciudad = 'Los Ángeles';
sqlComo 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
, 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;
sqlPor 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;
sqlPara nuestro ejemplo, éste sería por tanto el código correspondiente:
DROP TABLE Lista de clientes;
sqlComandos 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.
¡Benefíciate del máximo rendimiento! Con el Hosting SQL Serverde 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.