Comandos mysql
1. Descargar xamp
- Primero activar los servicios de xamp (apache, mysql)
- Digitar cmd para abrir la consola
2. Abrir MariaBD
- cd/xampp/mysql/bin
- mysql -uroot -p
3. redirigirá toda la salida de los comandos SQL
- tee c:/xampp/clase1msql.txt
-show databases; (mostrar la configuración)
- El show nos sirve para mostrar
2. Comando para crear una BD
- create database (Nombre de la BD);
3. Comando para abrir la BD
- use (nombre de la BD);
4. Visualizar tablas
- show tables;
Drop: Eliminar una base de datos
5. Crear tablas
- create table nombre_tabla
(campo1 tipo(tamaño) nulo o no primary key,
campo2 tipo(tamaño) nulo o no,
campoN tipo(tamaño) nulo o no);
6. comandos para visualizar la estructura de una tabla
- Describe nombre_de la_tabla;
- Si estas usando la base de datos: show columns from nombretabla;
- Si no estas usando la base de datos: - show columns from nombreBD. Nomtabla;
Exit ( para salir)
7. hacer la copia de seguridad
- mysqldump -B -uroot -p biblioteca>c:/xampp/biblioteca.sql
Eliminar una clave primaria
Comando Drop
- alter table nombretabla drop primary key;
Definir nuevamente la clave primaria a una tabla
Comando modify
- alter table nombretabla modify nombre_de_campo tipo(tamaño) not null primary key;
ejemplo: alter table libro modify Idlibro varchar(10) not null primary key;
8. Agregar un campo al final de la tabla
comando add
- alter table nombreTabla add nombre_nuevo_campo tipo (tamaño) not null;
alter table libro add Cantidad int (3)not null;
Agregar un campo al principio de la tabla
Comando first
- alter table nombretabla add nombre_de_campo tipo(tamaño) not null first;
alter table libro add serial varchar(15) not null first;
Agregar un campo después de otro según la necesidad
Comando after
- alter table nombre_tabla add nombrede_campo tipo(tamaño) no null after nombrede_campo que va a qudar antes del nuevo campo;
alter table libro add are varchar (20) not null after titulo;
Eliminar campos de una tabla
Comando Drop
- alter table nombretabla drop nombre_de_campo;
alter table libro drop serial;
Cambiar el nombre de un campo
Comando change
- alter table nombretabla change nombre_campo_actual nuevo_nombre tipo(tamaño) not null;
alter table libro change Titulo Nombre varchar(50) not null;
Visualizar como está creada una tabla
Comando Show
- show create table nombretabla;
show create table libro;
Cambiar el nombre de una tabla
Comando Rename
- alter table nombretabla rename to nuevonombretabla;
alter table libro rename to obra;
Eliminar una tabla
Comando Drop
- drop table nombretabla;
drop table autor;
Insertar información en una tabla
Comando Insert
insert into nombretabla(campo1,campo2,campo3,…campon) values(dato1,dato2,dato3,…daton);
insert into libro(Idlibro,Titulo,Area,Cantidad,Nropaginas,Precio) values('001','A','Informatica',50,50,4000);
Mostrar la información de la tabla
select * from nombre_tabla;
Eliminar base de datos
drop database prueba;
Recuperar la base de datos
source c:/xampp/prueba.sql
Consultar o visualizar información
comando
select
sintaxis
select * from nombretabla;
Ejemplo:
Select * from libro;
Consultar uno o varios campos de una tabla
sintaxis:
select campo1,campo2,campo3,…campon from nombretabla;
Ejemplo: Visualizar el codigo del libro y su descripción
select idlibro,Nombre from libro;
select Titulo,precio from libro;
• Consultar con condicional
comando where
sintaxis:
select todos o campos_especificos from nombretabla where campo con condicion;
Ejemplo:
Visualizar la informacion del libro L01
select * from libro where id_libro='L01';
• Visualizar la información de los libros 001, 002, 003.
Condición: codigo=001 o codigo=002 or codigo=003
sintaxis:
select * from libro where idlibro='001' or idlibro='002' or idlibro='003'
• Visualizar la información de los libros del 001 al 005.
Condición: codigo>=001 y codigo<=005
sintaxis:
select * from libro where idlibro>='001' and idlibro<='005';
• Reemplazar el comando or por el comando in
Visualizar la información de los libros 001, 002, 003.
Condición: codigo=001 o codigo=002 or codigo=003
sintaxis:
select * from libro where idlibro in('001','002','003');
• Reemplazar el comando and por el comando between cuando se manejan intervalos
Condición: codigo del Libro entre 001 y 006
select * from libro where idlibro between '001' and '006';
El comando like sirve para buscar coincidencias o búsquedas no precisas.
Este comando tiene tres variables
- Like '% a': Que termina en la letra a
- Like 'a%': Que inicia en la letra a
- Like '%a%': Que en alguna parte contenga la a
-- Ejemplo para visualizar la información de los libros cuya área termina con la letra S:
select * from libro where area like '%S';
-- Ejemplo para visualizar la información de los libros que en el nombre del área incluyan la palabra datos:
select * from libro where area like '%datos%';
FUNCIONES BASICAS PARA REALIZAR CALCULOS
FUNCION--------------- DESCRIPCION
SUM ------------------ Suma o Total
MAX -------------------- Valor Máximo
MIN ------------------- Valor Mínimo
COUNT ---------------- Contar o cantidad
AVG ----------------- Promedio
Sintaxis
Select funcion(valor o campo) from nombretabla;
Ej: Cuantos libros hay en la librería
---------------------------------------------------------------------------------------------------
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
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
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
Función a Utilizar: Min
Sintaxis
Select min(nropagina) 'Libro
mas Pequeño' from libro;
---------------------------------------------------------------------------------------------------
Ej: hallar
el valor promedio de los libros
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 Titulo='Redes y Comunicaciones' where
id_libro='L07';
---------------------------------------------------------------------------------------------------
INSERTAR EN LA TABLA LIBRO LOS CAMPOS CANTIDAD TIPO ENTERO Y
VTOTAL
TIPO FLOAT
SINTAXIS:
alter table libro add cantidad int not null after Numpg;
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';
---------------------------------------------------------------------------------------------------
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 REDES Y COMUNICACIONES
SINTAXIS:
Delete from libro where id_libro='L07';
delete from libro where Titulo='Redes y comunicaciones';
---------------------------------------------------------------------------------------------------
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 Titulo 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).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;
Sintaxis:
select * from tabla1 inner join tabla2 on tabla1.id=tabla2.id inner join tabla3 on tabla2.id=tabla3.id2;
---------------------------------------------------------------------------------------------------
CONSULTAS RELACIONALES (Entre varias tablas)
Visualizar el codigo del libro, el nombre del libro, el codigo
del autor y el nombre del autor con sus respectivos libros escritos.
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'
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 seteados a NULL.
AGRUPAR INFORMACION
Comando Group by
Sintaxis select * from nombretabla group by nombrecampo;
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
2. Campo en el que se aplica la función
3. Campo por el cual va a agrupar
4. Comando
---------------------------------------------------------------------------------------------------
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
Analisis
1. Que se desea consultar Total comprado por Ciudad
2. Campo en el que se aplica la funcion montocompra
3. Campo por el cual va a agrupar Ciudad
4. Comando y funcion a utilizar 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 funcion montocompra
3. Campo por el cual 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
Nota:
cuando utilizamos group by y se manejan condiciones estas no funcionan con
where sino con la opción having
Analisis
1. Que se desea consultar Ciudad
2. Campo en el que se aplica la funcion Ciudad
3. Campo por el cual va a agrupar Ciudad
4. Comando condicion:
Cantidad >2 Select group by :
funcion Count- Where
Sintaxis
Select ciudad ,count(ciudad) as 'cantidad de visitantes' from visitantes group by ciudad having count(ciudad)>2;
---------------------------------------------------------------------------------------------------
• Calcular el valor
promedio de monto compra 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
Analisis
1. Que se desea consultar Promedio de compra por Ciudad y Sexo
2. Campo en el que se aplica la funcion Montocompra
3. Campo por el cual 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
Analisis
1. Que se desea consultar Ciudad
2. Campo en el que se aplica la funcion Montocompra
3. Campo por el cual va a agrupar Ciudad
4. Comando condicion: suma >5 Millones
Select-group by :
funcion Sum- having
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
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;