Comandos MYSQL 2
Continuación de los comandos de MySql.
Plantilla
Análisis
1. Que se desea consultar y de que tablas?.
2. Que tablas se ven afectadas o involucradas?
3. Condición (es)
4. Como se relacionan las tablas?
5. Que comando se debe utilizar?
SINTAXIS
---------------------------------------------------------------------------------------------------------------------------------------------------------
CONSULTAS RELACIONALES ( entre varias tablas )
* Visualiza el código del libro, el nombre del libro, el código del autor y el nombre del autor con sus respectivos libros escritos.
Análisis
1. Que se desea consultar y de que tablas?.
- libro.idlibro
- libro.descripcion
- autor.codautor
- autor.nombre
2. Que tablas se ven afectadas o involucradas?
- Libro
- Autor
- Liautedi
3. Condición (es)
- Ninguna ( NA )
4. Como se relacionan las tablas?
- libro.idlibro=liautedi.idlibro
- liautedi.codautor=autor.codautor
5. Que comando se debe utilizar?
Select
SINTAXIS
select distinct libro.idlibro,libro.descripcion,autor.codautor,autor.nombre from libro,autor,liautedi where libro.idlibro=liautedi.idlibro and liautedi.codautor=autor.codautor;
* Consultar quien es el autor del libro Estructura de datos.
Análisis
1. Que se desea consultar y de que tablas?.
- libro.idlibro
- libro.descripcion
- autor.codautor
- autor.nombre
2. Que tablas se ven afectadas o involucradas?
- Libro
- Autor
- Liautedi
3. Condición (es)
- libro.descripcion=Estructura de datos
4. Como se relacionan las tablas?
- libro.idlibro=liautedi.idlibro
- liautedi.codautor=autor.codautor
5. Que comando se debe utilizar?
Select
SINTAXIS
select libro.titulo,autor.nombre from libro,autor,liautedi where libro.titulo='Estructura de datos' and libro.id_libro=liautedi.id_libro1 and liautedi.codaut1=autor.codaut;
* Consultar de que libros es autor Luis Joyanes.
Análisis
1. Que se desea consultar y de que tablas?.
- libro.idlibro
- libro.descripcion
- autor.codautor
- autor.nombre
2. Que tablas se ven afectadas o involucradas?
- Libro
- Autor
- Liautedi
3. Condición (es)
- autor.nombre=Luis joyanes
4. Como se relacionan las tablas?
- libro.idlibro=liautedi.idlibro
- liautedi.codautor=autor.codautor
5. Que comando se debe utilizar?
Select
SINTAXIS
select libro.descripcion,autor.nombre from libro,autor,liautedi where autor.nombre='Luis Joyanes' and libro.idlibro=liautedi.idlibro and liautedi.codautor=autor.codautor;
* Consultar que autores escribieron el libro Bd II.
Análisis
1. Que se desea consultar y de que tablas?.
- libro.descripcion
- autor.nombre
2. Que tablas se ven afectadas o involucradas?
- Libro
- Autor
- Liautedi
3. Condición (es)
- libro.descripcion=BD II
4. Como se relacionan las tablas?
- libro.idlibro=liautedi.idlibro
- liautedi.codautor=autor.codautor
5. Que comando se debe utilizar?
Select
SINTAXIS
select libro.descripcion 'LIBRO',autor.nombre 'AUTOR' from libro,autor,liautedi where libro.descripcion='BD II' and libro.idlibro=liautedi.idlibro and liautedi.codautor=autor.codautor;
* Visualizar el el nombre del libro, el nombre del autor y el nombre de la editorial que los publica.
Análisis
1. Que se desea consultar y de que tablas?.
- libro.idlibro
- libro.descripcion
- autor.codautor
- autor.nombre
- editorial.codedit
- editorial.nombre
2. Que tablas se ven afectadas o involucradas?
- Libro
- Autor
- Liautedi
- Editorial
3. Condición (es)
- Ninguna ( NA )
4. Como se relacionan las tablas?
- libro.idlibro=liautedi.idlibro
- liautedi.codautor=autor.codautor
- liautedi.codedit=editorial.codedit
5. Que comando se debe utilizar?
Select
SINTAXIS
select libro.descripcion 'LIBRO' ,autor.nombre 'AUTOR' ,editorial.nombre 'EDITORIAL' from libro,autor,editorial,liautedi where libro.idlibro=liautedi.idlibro and liautedi.codautor=autor.codautor and editorial.codedit=liautedi.codedit;
A continuación se puede observar el tee de esta sesión.
FUNCIONES BASICAS PARA REALIZAR CALCULOS

SINTAXIS
Select funcion(valor o campo) from nombretabla;
Plantilla
Análisis
1. Que se desea calcular y de que tabla?.
2. Que tablas se ven afectadas o involucradas?
3. Condición (es)
4. Como se relacionan las tablas?
5. Función a utilizar:
SINTAXIS
---------------------------------------------------------------------------------------------------------------------------------------------------------
* Ej: Cuantos libros hay en la librería
Análisis
1. Que se desea calcular y de que tabla?.
- Cantidad de libros
- Tabla Libro
2. Que tablas se ven afectadas o involucradas?
- Libro
3. Condición (es)
- Ninguna ( NA )
4. Como se relacionan las tablas?
- No aplica
5. Función a utilizar: Count
SINTAXIS
select count(*) from libro;
select count(*) 'Cantidad de Libros' from libro;
* Ej: Cual es el valor total de los libros que posee la librería
Análisis
1. Que se desea calcular y de que tabla?.
- Total precio
- Tabla Libro
2. Que tablas se ven afectadas o involucradas?
- Libro
3. Condición (es)
- Ninguna ( NA )
4. Como se relacionan las tablas?
- No aplica
5. Función a utilizar: Sum
SINTAXIS
Select sum(precio) 'Valor Total' from libro;
* Ej: Cual es el valor del libro más costoso que vende la librería
Análisis
1. Que se desea calcular y de que tabla?.
- Precio Más alto
- Tabla Libro
2. Que tablas se ven afectadas o involucradas?
- Libro
3. Condición (es)
- Ninguna ( NA )
4. Como se relacionan las tablas?
- No aplica
5. Función a utilizar: Max
SINTAXIS
Select max(precio) 'Libro Más Costoso' from libro;
Ej: Cuál es el número de páginas del libro más pequeño que vende la librería
Análisis
1. Que se desea calcular y de que tabla?.
- Nro páginas mínimo
- Tabla Libro
2. Que tablas se ven afectadas o involucradas?
- Libro
3. Condición (es)
- Ninguna ( NA )
4. Como se relacionan las tablas?
- No aplica
5. Función a utilizar: Min
SINTAXIS
Select min(nropagina) 'Libro mas Pequeño' from libro;
* Ej: hallar el valor promedio de los libros
Análisis
1. Que se desea calcular y de que tabla?.
- Valor promedio del precio
- Tabla Libro
2. Que tablas se ven afectadas o involucradas?
- Libro
3. Condición (es)
- Ninguna ( NA )
4. Como se relacionan las tablas?
- No aplica
5. Función a utilizar: Avg
SINTAXIS
Select Avg(precio) 'Valor promedio de un libro' from libro;
* Modificar o actualizar datos o registros
COMANDO
Update
SINTAXIS
update nombretabla set nombre del campo a actualizar='valor' condicion;
* Cambiar o actualizar la descripción del libro Redes por Redes y Comunicaciones
update libro set descripcion='Redes y Comunicaciones' where idlibro='L07';
SINTAXIS
alter
table libro add cantidad int not null after nropagina;
alter
table libro add vtotal float not null after precio;
* ACTUALIZAR LA CANTIDAD DE LIBROS,COMENZANDO EN 5 PARA EL PRIMER LIBRO E INCREMENTAR DE 5 EN 5 PARA LOS DEMAS
SINTAXIS
update libro set cantidad=5 where idlibro='L01';
update libro set cantidad=10 where idlibro='L02';
update libro set cantidad=15 where idlibro='L03';
y etc..
* ACTUALIZAR EL CAMPO VALOR TOTAL DE CADA LIBRO
SINTAXIS
update libro set vtotal=cantidad*precio;
Precaución: realizar copia de seguridad antes de ejecutar la acción.
NOTA: Si se actualizan o modifican todos los campos de una tabla NO se requiere de condiciones,en caso contrario,De modificar o actualizar campos en específicos es necesario tener la condición.
* ELIMINAR INFORMACIÓN O REGISTROS
COMANDO
Delete
SINTAXIS
DELETE FROM tabla WHERE condición;
* ELIMINAR DE LA TABLA LIBRO,EL LIBRO DE DIAGRAMACION
SINTAXIS
Delete from libro where idlibro='L08'; O Tambien
delete from libro where descripcion='Diagramacion';
* ORDENAR LA INFORMACION
COMANDO
Order by
SINTAXIS
Select * from NombreTabla order by (campo a ordenar) tipo de ordenado ;
* Ordenar la tabla LIBRO por la DESCRIPCION de los libros
Select * from libro order by descripcion;
NOTA: Si se desea ordenar ordenar de forma ascendente se agrega asc o descendente se agrega desc al final de la sintaxis.
Ejemplo: Ordenar la tabla libro por el descripcion de forma Ascendente-Descendente.
Ascendente: select * from libro order by descripcion asc;
Descendente: select * from libro order by descripcion desc;
COMANDO JOIN
El comando JOIN en MySQL, sirve para combinar 2 o mas tablas según las designación de variables que queramos o necesitemos.
Unión entre varias tablas, devuelve la información que encuentra esa unión(relación).
SINTAXIS
select * from tabla1 inner join tabla2 on tabla1.id=tabla2.id inner join tabla3 on tabla2.id=tabla3.id2;
Ejemplo:

select * from tabla1 inner join tabla2 on tabla1.id=tabla2.id inner join tabla3 on tabla2.id=tabla3.id2;
select distinct 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 del autor y el nombre del autor con sus respectivos libros escritos.
Análisis
1. Que se desea consultar y de que tablas?.
- libro.idlibro
- libro.descripcion
- autor.codautor
- autor.nombre
2. Que tablas se ven afectadas o involucradas?
- Libro
- Autor
- Liautedi
3. Condición (es)
- Ninguna ( NA )
4. Como se relacionan las tablas?
- libro.idlibro=liautedi.idlibro
- liautedi.codautor=autor.codautor
5. Que comando se debe utilizar?
Select - inner join
SINTAXIS
select distinct 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 into outfile 'c:/xampp/libroautorjoin.xls';
into outfile 'c:/xampp/libroautorjoin.xls'
LEFT JOIN
El left join se utiliza para saber que registros no tienen correspondencia en otra tabla. Verifica de una tabla izquierda a una tabla derecha, si no encuentra coincidencias se genera una fila extra con todos los campos ceteados a NULL.
* Visualizar que libros no se les ha asignado un autor utilizando el left join
select libro.idlibro,libro.descripcion,liautedi.idlibro from libro left join liautedi on libro.idlibro=liautedi.idlibro where liautedi.idlibro is null;
RIGHT JOIN
El right join opera del mismo modo que el left join, solo que la búsqueda 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.
* Visualizar el listado de los libros que tienen al menos un autor asignado
select libro.idlibro,libro.descripcion,liautedi.idlibro from libro right join liautedi on libro.idlibro=liautedi.idlibro;
A continuación se puede observar el tee de esta sesión.
GROUP BY
SINTAXIS
Select from nombretabla group by nombrecampo;
Plantilla
Análisis
1. Que se desea consultar
2. Campo en el que se aplica la función
3. Campo por el cuál va a agrupar
4. Comando
SINTAXIS
--------------------------------------------------------------------------------------------------------------------------------------------------------
Ejemplo: select * from estudiante group by nom_E;
Usando las funciones ( max, min, sum, avg, count )
* Visualizar las cantidades de visitantes por ciudad
Análisis
1. Que se desea consultar
- Cantidad de visitantes por Ciudad
2. Campo en el que se aplica la función
- montocompra o ciudad
3. Campo por el cuál va a agrupar
- Ciudad
4. Comando
group by-Select-Count
SINTAXIS
Select nombrecampo(s), función(campofuncion) as nombredeseado from nombretabla group by nombrecampo;
select ciudad ,count(ciudad) as 'cantidad visitantes' from visitantes group by ciudad;
* Visualizar el total comprado por ciudad
Análisis
1. Que se desea consultar
- Total comprado por Ciudad
2. Campo en el que se aplica la función
- montocompra
3. Campo por el cuál va a agrupar
- Ciudad
4. Comando
Select - group by : Funcion Sum
SINTAXIS
select ciudad ,sum(montocompra) as 'total compra por ciudad' from visitantes group by ciudad;
* Visualizar el monto de compra por sexo
Análisis
1. Que se desea consultar
- Suma compra por Sexo
2. Campo en el que se aplica la función
- montocompra
3. Campo por el cuál va a agrupar
- Sexo
4. Comando
Select-group by funcion sum
SINTAXIS
Select sexo ,sum(montocompra) as 'total compra por sexo' from visitantes group by sexo;
* Visualizar las ciudades a las que van más de dos visitantes
Análisis
1. Que se desea consultar
- Ciudad
2. Campo en el que se aplica la función
- Ciudad
3. Campo por el cuál va a agrupar
- Ciudad
4. Comando
Select group by : funcion Count- Where
Condición:
Cantidad > 2
SINTAXIS
Select ciudad ,count(ciudad) as 'cantidad de visitantes' from visitantes group by ciudad having count(ciudad)>2;
* Calcular el valor promedio de montocompra agrupados por ciudad y sexo
Nota: cuando utilizamos group by y se manejan condiciones estas no funcionan con where sino con la opción having
Análisis
1. Que se desea consultar
- Promedio de compra por Ciudad y Sexo
2. Campo en el que se aplica la función
- Montocompra
3. Campo por el cuál va a agrupar
- Ciudad y sexo
4. Comando
Select - group by : Funcion AVG
SINTAXIS
Select ciudad,sexo ,avg(montocompra) as 'promedio de compra' from visitantes group by ciudad, sexo;
* Visualizar el monto compra por ciudad mayores a 5 millones
Nota: cuando utilizamos group by y se manejan condiciones estas no funcionan con where sino con la opción having
Análisis
1. Que se desea consultar
- Ciudad
2. Campo en el que se aplica la función
- Montocompra
3. Campo por el cuál va a agrupar
- Ciudad
4. Comando
Select - group by : Funcion Sum - having
Condición:
Suma > 5 millones
SINTAXIS
Select ciudad, sum(montocompra) as 'Mayores_a_5000000' from visitantes group by ciudad having sum(montocompra)>5000000;
VISTAS
Se utiliza para crear tablas temporales
Comando View:
View
SINTAXIS
create view nombre de la vista
Ejemplo: crear una vista con los nombres que terminan en A
SINTAXIS
create view visitantesa as select * from visitantes where nombre like '%a';
Nota: se crea una tabla tal cual es la original, pero con la información consultada
* Inserta un nuevo visitante
insert into visitantes(nombre,ciudad,sexo,montocompra) values('Ana Maria Guerrero Guasca','cartagena','femenino',5000000);
Eliminar una vista
Drop view nombredelavista;
* Eliminar la vista visitantesa
Drop view visitantesa;
A continuación se puede observar el tee de esta sesión ( Manejo join ).
A continuación se puede observar el tee de esta sesión ( Group by - Vistas ).
Para seguir visualizando comandos de MySql te puedes dirigir al siguiente link, para continuar con la tercera parte.
