Página inicial  

Tema 6. Actualización de datos (V)


Borrar filas (DELETE)


La sentencia DELETE elimina filas de una tabla.

La sintaxis es la siguiente:


Origen es el nombre de la tabla de donde vamos a borrar, podemos indicar un nombre de tabla, incluir la cláusula IN si la tabla se encuentra en una base de datos externa, también podemos escribir una composición de tablas.

La opción tabla.* se utiliza cuando el origen está basado en varias tablas, y sirve para indicar en qué tabla vamos a borrar.

La opción * es opcional y es la que se asume por defecto y se puede poner unicamente cuando el origen es una sola tabla.

La cláusula WHERE sirve para especificar qué filas queremos borrar. Se eliminaran de la tabla todas las filas que cumplan la condición. Si no se indica la cláusula WHERE, se borran TODAS las filas de la tabla.

En la condición de búsqueda de la sentencia DELETE, se puede utilizar una subconsulta. En SQL standard la tabla que aparece en la FROM de la subconsulta no puede ser la misma que la tabla que aparece en la FROM de la DELETE pero en el SQL de Microsoft Jet sí se puede hacer.

Una vez borrados, los registros no se pueden recuperar.

Si la tabla donde borramos está relacionada con otras tablas se podrán borrar o no los registros siguiendo las reglas de integridad referencial definidas en las relaciones. Aquí puedes repasar las reglas de integridad referencial.

Ejemplo:

DELETE * FROM pedidos WHERE clie IN (SELECT numclie FROM clientes WHERE nombre = 'Julian López');

O bien:

DELETE pedidos.* FROM pedidos INNER JOIN clientes ON pedidos.clie = clientes.numclie WHERE nombre = 'Julian López';

Las dos sentencias borran los pedidos del cliente Julian López. En la segunda estamos obligados a poner pedidos.* porque el origen está basado en varias tablas.

DELETE * FROM pedidos; o DELETE FROM pedidos; Borra todas las filas de pedidos.

 

Resumen del tema


Si queremos añadir en una tabla una fila con valores conocidos utilizamos la sentencia INSERT INTO tabla VALUES (lista de valores).

Si los valores a insertar se encuentran en una o varias tablas utilizamos INSERT INTO tabla SELECT ...

Para crear una nueva tabla con el resultado de una consulta con la sentencia SELECT...INTO tabla FROM...

Para cambiar los datos contenidos en una tabla, tenemos que actualizar las filas de dicha tabla con la sentencia UPDATE tabla SET asignación de nuevos valores.

Para eliminar filas de una tabla se utiliza la sentencia DELETE FROM tabla.

Con la cláusula WHERE podemos indicar a qué filas afecta la actualización o el borrado.

 

Ejercicios propuestos



 
Pag.6.5
Aviso legal: este curso es gratuito siempre que se visualice desde la página web de aulaClic. No está permitido descargar el curso ni utilizarlo en academias o centros de enseñanza privados sin estar conectado a Internet.
© aulaClic. Todos los derechos reservados. Free Computer tutorials . Prohibida la reproducción por cualquier medio.
Julio-2001.aulaClic.com