3. Consultas de acción

consultas de acción

Img 20. Consultas de acción.

Hasta ahora las consultas han sido utilizadas para visualizar parte de los datos contenidos en una o varias tablas y para realizar cálculos con ellos. En ningún caso el contenido de las tablas ha sido modificado.
Las consultas de acción se utilizan para actualizar el contenido de las tablas en una sola operación previamente diseñada. Se usan cuando esta operación se repite periódicamente o cuando se pueden modificar valores de campos por lotes evitando así repetir la operación muchas veces.
Icono IDevice Actividad
Las consultas de acción son aquellas mediante las que se borran, añaden o modifican registros de una tabla, es decir, el contenido de la tabla tras la ejecución de la consulta es distinto al inicial.
Los comandos utilizados son: DELETE, INSERT y UPDATE.

Icono IDevice Pre-conocimiento
Nuestro gestor de bases de datos OOo Base no permite crear consultas de acción por lo que los ejercicios de este apartado serán simulados, pero no podrás probarlos.

Consultas de eliminación

 

Mediante el comando DELETE FROM WHERE se eliminan los registros de la tabla indicada cuyo valor coincide con el criterio expresado en la cláusula WHERE.

Sintaxis:

DELETE * FROM Tabla WHERE Criterio

 

AV - Pregunta Verdadero-Falso


a) El comando DELETE elimina registros completos.

Verdadero Falso


b) Si no se especifica ninguna condición en la cláusula WHERE no se borra nada.

Verdadero Falso


c) Si la operación no es la esperada se puede volver al estado anterior con el botón deshacer.

Verdadero Falso
Icono IDevice Objetivos

El comando DELETE permite borrar registros de varias tablas indicándolo en la cláusula FROM.

 

En este caso la sintaxis requiere que delante de cada nombre de campo se especifique su tabla de procedencia:

 

DELETE tabla1.* , tabla2.* FROM tabla1, tabla2 WHERE condición

 

La condición puede ser simple (sólo afecta a un campo) mediante un operador (<,>,=, BETWEEN, LIKE, IN) o compuesta (están implicados varios campos de una o de las dos tablas) median operadores como AND y OR.


Consultas de inserción

 

Mediante el comando INSERT INTO se añaden los registros que cumplan la condición expresada en la claúsula WHERE a la tabla indicada.

Sintaxis:

INSERT INTO tabla (campo1, campo2, ...) VALUES (valor1, valor2, ...)

 

Este comando tiene ciertas peculiaridades:

  • Requiere conocimientos sobre los tipos de datos contenidos en los campos y el resto de restricciones impuestas en su definición. Los valores de campos de tipo texto deben escribirse entre comillas y las fechas en el formato adecuado.
  • A los valores de los campos no especificados en la cláusula VALUES se les asignará un valor NULL si las especificaciones del campo lo permiten o el valor preestablecido por defecto.
  • Cada instrucción INSERT añade un solo registro a una sola tabla. Para añadir más registros se pueden separar bloques de los valores de un registro (entre paréntesis) por comas u obtener previamente los datos de otra tabla mediante un SELECT.

 

Icono de iDevice Ejemplo o ejercicio resuelto
Inserta un nuevo registro en la tabla Tipo_transporte para el transporte por tren de alta velocidad, denominado AVE con el número 6. No asignes ningún valor al tiempo de entrega.
Para que la sentencia sea correcta ten en cuenta los tipos de datos de cada campo.

Consultas de modificación

 

Mediante el comando UPDATE modifica el valor de los campos indicados en la cláusula SET para los registros que cumplan el criterio expresado en la cláusula WHERE. Si no se especifica ninguna condición se actualizarán todos los registros de la tabla.

Sintaxis:

UPDATE tabla SET campo1 = valor1 WHERE condición

 

Esta sentencia es especialmente útil cuando se desea actualizar muchos registros a un valor determinado.

Icono de iDevice AV - Reflexión
Crea una consulta en vista SQL que cambie la dirección del cliente denominado "empresa 3". Elige tú la nueva dirección.
Icono de iDevice AV - Actividad de Espacios en Blanco

Las consultas con UPDATE pueden modificar un solo registro o varios a la vez.

Responde 1 si la consulta solo modifica un registro y 2 si modifica varios.

UPDATE "Pedidos" SET "Provincia" = "Madrid" WHERE "Provincia" = "madrid"

UPDATE "Transporte" SET "TipoTransporte" = "urgente" WHERE "IDTransporte" = "2"