
Comandos MYSQL
Realizar la actividad de Bd 1 con el archivo tee y la base de datos
funciones para calculos:
Sintaxis:
select nombrefuncion(valor) from tabla;
Sum= suma
Min= minimo
Max = maximo
Avg=promedio
count = contar
Ejemplo:
Hallar el valor total de los libros
select sum(precio) from libro;
consultaro los libros cuyo autor es Riaz Khadem
Consulta de varias tablas o tablas relacionales (tener siempre en cuenta el modelo E-R)
Analisis:
1. que voy a mostrar: autor.codautor,autor.nombre,libro-.descripcion
2. Que tablas se van a utilizar: autor, libro, liautedi.
3. condicion: autor.nombre='riaz kadhem'
4. como se relacionan: autor.codautor=liautedi.codautor libro.idlibro=liautedi.idlibro
sintaxis
select autor.codautor, autor.nombre,libro.descripcion from autor, libro,liautedi where autor.nombre='riaz khadem' and autor.codautor=liautedi.codautor and libro.idlibro=liautedi.idlibro;
consultar las editoriales que tienen libros del autor Robert Lorber.
1. que voy a mostrar: editorial.Nombre,libro.descripcion,autor.nombre
2. Que tablas se van a utilizar: autor, libro,editorial, liautedi.
3. condicion: autor.nombre='Robert Lorber'
4. como se relacionan: autor.codautor=liautedi.codautor libro.idlibro=liautedi.idlibro editorial.codedit=liautedi.codedit
select editorial.nombre, libro.descripcion, autor.nombre from autor, libro, editorial, liautedi where autor.nombre='Robert Lorber' and autor.codautor=liautedi.codautor and libro.idlibro=liautedi.idlibro and editorial.codedit=liautedi.codedit;
C. consultar el precio de los libros de redes y BD.
1. que voy a mostrar: libro.descripcion, libro.precio
2. Que tablas se van a utilizar: libro
3. condicion: libro.descripcion='BD II' y libro.descripcion='Redes'
4. como se relacionan: libro.descripcion='BD II' and libro.descripcion='Redes'
D. Consultar los libros que pertenezcan a la asignatura contabilidad, el nombre del autor del libro y las editoriales que tienen a su cargo la publicacion del libro.
1. que voy a mostrar: libro.descripcion, asignatura.nombre,autor.nombre,editorial.nombre.
2. Que tablas se van a utilizar: libro,asignatura, autor, editorial, liautedi.
3. condicion: asignatura.descripcion='contabilidad'
4. como se relacionan: libro.codigomat=asignatura.codigomat libro.idlibro=liautedi.idlibro autor.codautor=liautedi.codautor editorial.codedit=liautedi.codedit
sintaxis:
select asignatura.nombre, libro.descripcion, autor.nombre, editorial.nombre from asignatura, libro, autor, editorial, liautedi where asignatura.nombre='Contabilidad' and libro.codigomat=asignatura.codigomat and libro.idlibro = liautedi.idlibro and autor.codautor=liautedi.codautor and editorial.codedit=liautedi.codedit;
E. Sumar los precios de los libros cuyo nª de paginas sean menor de 180
1. que voy a mostrar: suma(precios)
2. Que tablas se van a utilizar: libro
3. condicion: libro.nropaginas<180
4. como se relacionan:
sintaxis
select sum(precio) from libro where libro.nropagina<180;
F. Consultar los nombres de los libros que esten en la editorial Mc Graw Hill.
1. que voy a mostrar: libro.descripcion, editorial.nombre
2. Que tablas se van a utilizar: libro,liautedi, editorial
3. condicion: editorial.nombre='Mc Graw Hill'
4. como se relacionan: editorial.codedit=liautedi.codedit libro.idlibro=liautedi.idlibro
sintaxis:
select libro.descripcion, editorial.nombre from libro, editorial, liautedi where editorial.nombre='Mc Graw Hill' and editorial.codedit=liautedi.codedit and libro.idlibro=liautedi.idlibro;
G. Consultar los libros cuya descripcion comience con E o terminen con A.
1. que voy a mostrar: libro.descripcion
2. Que tablas se van a utilizar: libro
3. condicion: libro.descripcion like 'e%' or libro.descripcion like '%a'
4. como se relacionan: libro.descripcion like '%a' or libro.descripcion like 'e%'
sintaxis
select libro.descripcion from libro where libro.descripcion like 'e%' or libro.descripcion like '%a';
H. Actualizar el nombre del libro calculo II por calculo diferencial.
1. que voy a mostrar: calculo diferencial
2. Que tablas se van a utilizar: libro
3. condicion: descripcion = 'calculo II'
4. como se relacionan:
sintaxis
update libro set descripcion='Calculo diferencial' where descripcion='Calculo II';
I. Muestre los registros de los libros de diagramacion, redes y admon en una pagina.
1. que voy a mostrar: libro.descripcion='diagramacion' and 'redes' and 'admon en una pagina'
2. Que tablas se van a utilizar: libro
3. condicion: descripcion = 'diagramacion' or 'redes' or 'admon en una pagina'
4. como se relacionan:
sintaxis
select *from libro where descripcion in ('redes','admon en una pagina','diagramacion');
J. Consultar el libro que tiene el menor Nº de paginas.
1. que voy a mostrar: libro.descripcion, libro.nropagina
2. Que tablas se van a utilizar: libro
3. condicion: nropagina sea Min
4. como se relacionan:
sintaxis
select Min(nropagina) from libro;
K. Consultar cual es el libro que tiene mayor precio.
1. que voy a mostrar: libro.descripcion, libro.nropagina
2. Que tablas se van a utilizar: libro
3. condicion: nropagina sea Max
4. como se relacionan:
sintaxis
select Max(precio) from libro;
L. Consultar el promedio del precio de los libros.
1. que voy a mostrar: promedio de libros
2. Que tablas se van a utilizar: libro
3. condicion: prom(precio)
4. como se relacionan:
sintaxis
select Avg(precio) from libro;
M. Modificar en la tabla editorial el campo nombre por descripcion.
1. que voy a mostrar: editorial.descripcion
2. Que tablas se van a utilizar: editorial
3. condicion: que el campo sea nombre
4. como se relacionan:
sintaxis
alter table editorial change nombre Descripcion varchar(20) not null;
N. Consultar los libros que estan en la editoria 'oveja negra'.
1. que voy a mostrar: libro.descripcion, editorial.nombre
2. Que tablas se van a utilizar: editorial, liautedi, libro
3. condicion: editorial.nombre='oveja negra'
4. como se relacionan: libro.idlibro=liautedi.idlibro, editorial.codedit=liautedi.codedit
sintaxis
select libro.descripcion, editorial.descripcion from libro, liautedi, editorial where editorial.descripcion='oveja negra' and libro.idlibro=liautedi.idlibro and editorial.codedit=liautedi.codedit;
O. Consultar quien es el autor(es) del libro BDII y que editorial(es) publican este libro.
1. que voy a mostrar: autor.nombre, libro.descripcion, editorial.nombre
2. Que tablas se van a utilizar: editorial, liautedi, libro, autor.
3. condicion: libro.descripcion='BD II'
4. como se relacionan: libro.idlibro=liautedi.idlibro and autor.codautor=liautedi.codautor and editorial.codedit=liautedi.codedit
sintaxis
select libro.descripcion, autor.nombre, editorial.nombre from libro, autor, liautedi, editorial where libro.descripcion ='BD II' and libro.idlibro=liautedi.idlibro and autor.codautor=liautedi.codautor and editorial.codedit=liautedi.codedit;
archivo txt: actividad2BD.txt (8397)
Link copia seguridad libreria.sql
1drv.ms/u/s!AkwXq6_Bu7jOimIQkOVCVoxjiPRA
OTRAS FORMAS DE REALIZAR CONSULTAS RELACIONALES
visualizar el codigo del libro, el nombre de libro, el codigo del autor y el nombre del autor con sus respectivos libros escritos:
1.que tablas se desea consultar: idlibro, descripcion, codautor, nombre: de las tas tablas libro y autor.
2. Que tablas se ven involucradas:
Libro, autor, liautedi.
3. Condicion: Ninguna
4. Como se relacionan las tablas?
Libro.idlibro=liautedi.libro autor.codautor=liautedi.codautor
Comando
join: union entre varias tablas, deviuelve la informacion que encuentra en esa union(relacion)
Sintaxis:
select *from tabla1 inner join tabla2 on tabla1.id=tabla2.id inner join tabla3 on tabla2.id=tabla3.id2;
Ejemplo
select libro.idlibro, libro.descripcion, autor.codautor, autor.nombre from libro inner join liautedi on libro.idlibro=liautedi.idlibro inner join autor on liautedi.codautor=autor.codautor;
*visualizar el codigo del libro, el nombre del libro, el codigo de la editorial y el nombre de la editorial con sus respectivos libros publicados:
Analisis:
1.. Que se desea consultar: libro.idlibro, libro.descripcion, editorial.codedit, editorial.descripcion
2. que tablas se ven afectadas o involucradas: libro. liautedi, editorial
3. Condicion: ninguna
4. Como se relacionan las tablas: libro.idlibro=liautedi.idlibro editorial.codedit=liautedi.codedit
Sintaxis:
select libro.idlibro, libro.descripcion, editorial.codedit, editorial.descripcion from libro inner join liautedi on libro.idlibro=liautedi.idlibro inner join editorial on liautedi.codedit=editorial.codedit;
El right join opera del mismo modo que el left join, solo que la busqueda de coincidencias las realiza del modo contrario, es decir busca valores de coincidencias desde la tabla de la derecha hacia la tabla que esta a la izquierda y sucede lo mismo que en el left, sino encuentra coincidencias se genera una fila extra con todos los campos ceteados en null.
Ejemplo:
* Visualizar el listado de los libro que tienen al menos un autor asignado
1. Que se debe consultar:
libro.idlibro, libro.descripcion, liautedi.idlibro
2. Las tablas que se veran afectadas:
Libro, liautedi
3. Mirar las condiciones que hay
No hay condicion.
4. Relacion entre tablas:
libro.idlibro=liautedi.idlibro
Sintaxis:
select libro.idlibro, libro.descripcion, liautedi.idlibro from libro right join liautedi on libro.idlibro=liautedi.idlibro;
me muestra por lo menos una coincidencia es decir memuestra que estos libro tienen por lo menos un registro asignado
El left join se utiliza para saber que registros no tienen correspondencia en otra tabla. verifica de una tabla izquierda a una derecha, si no encuentra coincidencias se genera una fila extra con todos los campos cetedos a uno.
*visualizar que libros no se les ha asignado un autor utilizando el left join:
1. Que se desea consultar:
libro.idlibro libro.descripcion liautedi.idlibro
2. Las tablas que se veran afectadas:
Libro, liautedi
3. Mirar las condiciones que hay:
liautedi.idlibro=null
4. relacion entre tablas:
libor.idlibro=liautedi.idlibro
sintaxis:
select libro.idlibro, libro.descripcion, liautedi.idlibro from libro left join liautedi on libro.idlibro=liautedi.idlibro where liautedi.idlibro is null;
Ejercicios de clase con join (08/04/2017)
en evaluacion crear una poagina que se llame 2 parcial y montar todo
poner en el modelo ER los numeros de las tablas
Para ordenar ascendente y descendentemente un registro:
ORDENAR INFORMACION
Ascendente
-Comando order by
- Sintaxis select *from nombretabla order by nombrecampo tipodeordenado;
-Ejemplo select *from libro order by descripcion;
ordenar por dos campos
-comando order by
-sintaxis select *from nombretabla order by nombrecampo1,nombrecampo2,nombrecampon tipodeordenado;
-Ejemplo select *from libroorder by id_libr,descripcion;
Descendente
-comando order by
-sintaxis select *from nombretabla order by nombrecampo tipodeordenado;
-Ejemplo select *from libro order by id_libro, descripcion desc;
ordenar por dos campos
-comando order by
-sintaxis select *from nombretabla order by nombrecampo1, nombrecampo2, nombrecampon tipodeordenado;
-Ejemplo select *from estudiante order by nom_E, dir desc;
EJERCICIO:
ORDENAR LA TABLA VISITANTES DE FORMA ASCENDENTE POR EL CAMPO NOMBRE
select *from visitantes order by nombre;
AGRUPAR INFORMACION:
-Comando group by
-Sintaxis select *from nombretabla group by nombrecampo;
-Ejemplo select *from estudiante group by nom_E;
*visualizar las cantidades de visitantes por ciudad
Analisis:
1. Que desea consultar: Ciudad
2.Campo en el que se le aplica la funcion: ciudad
3. Campo por el cual va a agrupar: Ciudad
-Comando group by
-Sintaxis select nombrecampo(s), funcion(campofuncion) as nombredeseado from nombretabla group by nombrecampo;
-select ciudad, count(ciudad) as 'cantidad de visitantes' from visitantes group by ciudad;
visualizar el total comprado por ciudad
1. Que desea consultar: Ciudad
2.Campo en el que se le aplica la funcion: montocompra
3. Campo por el cual va a agrupar: Ciudad
-Comando group by
-Sintaxis select nombrecampo(s), funcion(campofuncion) as nombredeseado from nombretabla group by nombrecampo;
-select ciudad, sum(montocompra) as 'Total comprado' from visitantes group by ciudad;
visualizar el monto de compra por sexo
1. Que desea consultar: sexo
2.Campo en el que se le aplica la funcion: montocompra
3. Campo por el cual va a agrupar: Sexo
-Comando group by
-Sintaxis select nombrecampo(s), funcion(campofuncion) as nombredeseado from nombretabla group by nombrecampo;
-select sexo, sum(montocompra) as 'Total comprado' from visitantes group by sexo;
visualizar las ciudades a las que vas mas de dos visitantes
1. Que desea consultar: ciudad
2.Campo en el que se le aplica la funcion: ciudad
3. Campo por el cual va a agrupar: ciudad
4. condicion = mas de dos visitantes
-Comando group by
-Sintaxis select nombrecampo(s), funcion(campofuncion) as nombredeseado from nombretabla group by nombrecampo;
-select ciudad, count(ciudad) as 'numero de visitantes' from visitantes group by ciudad having count(ciudad)>2;
NOTA: Cuando manejamos group by y se manejan condsiciones estas no funcionan con where sino con la opcion having
Calcular el valor promedio de montocompra agrupado por ciudad y sexo
1. Que desea consultar: ciudad, sexo
2.Campo en el que se le aplica la funcion: montocompra
3. Campo por el cual va a agrupar: ciudad, sexo
-Comando group by
-Sintaxis select nombrecampo(s), funcion(campofuncion) as nombredeseado from nombretabla group by nombrecampo;
-select ciudad, sexo,avg(montocompra) as 'promedio compra' from visitantes group by ciudad, sexo;
visualizar el montocompra por ciudad mayores a 5 millones
1. Que desea consultar: ciudad
2.Campo en el que se le aplica la funcion: montocompra
3. Campo por el cual va a agrupar: ciudad
4. condicion = mayores a 5 millones
-Comando group by
-Sintaxis select nombrecampo(s), funcion(campofuncion) as nombredeseado from nombretabla group by nombrecampo;
-select ciudad,sum(montocompra) as 'mayores a 5000000' from visitantes group by ciudad having sum(montocompra) >5000000;
mysql> SELECT nombre, nacimiento FROM mascotas ORDER BY nacimiento;
| nombre | nacimiento |
| Kaiser | 1989-08-31 |
| Chispa | 1998-09-11 |
| Buffy | 1999-05-13 |
| Pelusa | 2000-03-30 |
| Skim | 2001-04-29 |
mysql> SELECT nombre, nacimiento FROM mascotas ORDER BY
+--------+------------+
+--------+------------+
| FanFan | 2000-08-27 |
| Wicho | 2000-02-09 |
| Fluffy | 1999-02-04 |
| Mau | 1998-03-17 |
+--------+------------++<span style="font-size:8.0pt;font-family:" courier="" new";times="" new="" roman";="" color:navy;"="">
VISTAS
Se utiliza para crear tablas temporales
Crear iuna vista que guarde toda la informacion de los nombres que finalicen en a
-Comando view
-Sintaxis craete view nombredelavista as consulta;
-Ejemplo create view visitantesa as select *from visitantes where nombre like '%a';
Nota: se crea una tabla tal cual es la original, `pero con la informacion consultada
Craer una vista que guarde todos lo datos del sexo masculino
-Comando view
-Sintaxis craete view nombredelavista as consulta;
-Ejemplo create view visitantess as select *from visitantes where sexo= 'masculino';
Nota: se crea una tabla tal cual es la original, `pero con la informacion consultada
link de descarga de base de datos donde se realizo el ejercicio:
1drv.ms/u/s!AkwXq6_Bu7jOinGjwiw2RDXrmWjF
Archivo txt con los comandos
OTROS COMANDOS MYSQL (29/04/2017)
COMANDO AUTOINCREMENT
PERMITE INCREMENTAR CAMPOS AUTOMATICAMENTE
Ej: Crear una tabla utilizando comando autoincrement
create table edicion
( codigo int auto_increment,
Descripcion varchar(30) not null,
primary key (codigo));
comando para rescatar los codigos autoincrementables
truncate
Sintaxis: truncate table edicion;
create table producto
( codigo int auto_increment,
Nombre varchar(30) not null,
precio float not null,
primary key (codigo));
para que la base de datos no acepte datos negativos y los lleve a 0: alter table producto modify precio float unsigned not null;
update producto set precio=50000 where nombre='vestido';
update producto set precio=50000 where codigo=3;
1drv.ms/u/s!AkwXq6_Bu7jOinIBilQXCzOFh8_i
SUBCONSULTAS
1drv.ms/u/s!AkwXq6_Bu7jOinTQK5VJXfjMvqVOQ
06/05/2017
PROCEDIMIENTOS ALMACENADOS
1drv.ms/u/s!AkwXq6_Bu7jOinWUmNZIcg8wZnKU
procedimientos_almacenados.txt (20227)
PProcedimientos almacenados.docx (13379)
20/05/2017
TRIGGERS
archivo
Introduccion a trigger.txt (4456)
base de datos
1drv.ms/u/s!AkwXq6_Bu7jOinTQK5VJXfjMvqVO