SUBCONSULTAS Y PROCEDIMIENTOS 

Subconsultas

Se utiliza para realizar consultas entre varias tablas

select...select(s) 
update...select(s) 
delete...select(s) 
insert...select(s)

update tabla set campo=valor where condicion;

update tabla set (subconsulta),(subconsulta), compo=valor where subconsultas;



1.   Calcular el valorventa de la tabla detalle con un incremento del 23% del valorunitario de la tabla articulo

Analisis

a) Campo a reemplazar

Valorventa de la tabla detalle

b) Con quien o que lo va a reemplazar

(valorunitario*0.23)+valorunitario de la tabla articulo

c) Condiciones

articulo.codigo=detalle.codigo

d)comando update

update detalle set valorventa = (select valorunitario + (valorunitario * 0.23) from articulo where articulo.codigo = detalle.codigo);



2.  Calcular el total de la tabla detalle

Análisis

a) Campo a reemplazar

Total de la tabla detalle

b) Con quien o que lo va a reemplazar

(cantidad*valorventa de la tabla detalle)

c) Condiciones

Ninguna

d)comando update

update detalle set total = cantidad * valorventa;





3.  Calcular las existencias según la tabla detalle de cada articulo

Analisis

a) Campo a reemplazar

existencia de la tabla articulo

b) Con quien o que lo va a reemplazar

cantidad - suma(cantidad tabla detalle)

c) Condiciones

articulo.codigo=detalle.codigo

d)comando update

update articulo set existencia = cantidad - (select sum(cantidad) from detalle where detalle.codigo = articulo.codigo);





4.  Eliminar los artículos que hayan vendido entre 3 y 5 artículos en cada venta

delete from articulo where codigo = (select codigo from detalle where cantidad between 2 and 5 and detalle.codigo = articulo.codigo group by articulo.codigo);

crear una tabla copia (duplicar la tabla detalle) y llenarla con la información de detalle, solo los registros del mes de febrero

create table copia like detalle;

insertar los datos de febrero en la tabla copia

insert into copia select * from detalle where  month(fecha)=2;

para insertar todos los datos de una tabla entonces:

insert into aux select*from detalle



Procedimientos

Son importantes para no repetir instrucciones o por cuestión de seguridad
Trabajan con:
  • Select
  • Update
  • Insert
  • Delete

Procedimiento para insertar
copia de seguridad
Para la copia de seguridad:
mysqldump -B -uroot -p --routines nombreBasededatos>ruta donde se guardara