Comandos MySQL

Pasos para Iniciar a Xampp

1. Botón inicio

2. Digitar Xampp

3. Ingresar a Xampp e inciar MySQL y Apache

4. Botón inicio y digitar cmd

5. En cmd en la linea de comandos ingregar los siguientes comandos en orden:

Ingresar al disco duro donde esté instalado el Xampp con el comando "(disco):"

cd/xampp/mysql/bin

mysql -uroot -p

password: ???

show databases; (Comando para visualizar las bases de datos creadas)

tee c:/xamppClase1Mysql.txt (Comando para guardar las sintaxis utilizadas en el diseño e implementación de la BD)

Nota: Todo comando en MySQL terminbd2a con " ; "


Comando para crear una Base de Datos:

Comando

Create

SINTAXIS

create database "nombre la BD"

Comando para abrir la BD

use "nombre de la BD";

Comando para visualizar tablas:

show tables;

¿Cómo crear tablas?:

Create

create table "nombre de la tabla"

(campo 1 = tipo(tamaño) nulo o no primare key,

campo 2 = tipo(tamaño) nulo o no,

campo n = tipo(tamaño) nulo o no);

Para ver el detalle de cualquier tabla:

describe "Nombre de la tabla";

Nota: Siempre se deben crear las tablas primarias para poder crear las tablas relacionales.

¿Cómo eliminar la clave primaria de una tabla?:

Comando Drop

sintaxis

alter table "nombre de la tabla" drop primary key;

¿Cómo definir la primary key de una tabla?:

Comando Modify

sintaxis

alter table "nombre de la tabla" modify "Nombre del campo" tipo(tamaño) not null primary key;

¿Cómo crear tablas relacionales?:

Muy simular a las tablas normales pero al final se agregan las claves foráneas

foreign key("nombre del campo") references "Nombre de la tabla" ("Nombre del campó") on delete cascade on update cascade,

Ejemplo:

create table libro_autor

(id_libro2 varchar(20) not null,

Id_autor1 varchar(10) not null,

foreign key(id_libro2) references libro(id_libro) on delete cascade on update cascade,

foreign key(Id_autor1) references autor(id_autor) on delete cascade on update cascade);

Comando para mostrar como fue creada una tabla:

show create table "nombre de la tabla";

¿Cómo agregar campos a una tabla?(al final):

Comando Add

Sintaxis

alter table "nombre de la tabla" add "nombre del campo" tipo(tamaño) not null;

Si se necesita en otro sitio:

Comando After

Sintaxis

alter table "nombre de la tabla" add "nombre del campo" tipo(tamaño) not null after "nombre del campo"; 

Al principio:

Comando First

alter table "nombre de la tabla" add "nombre del campo" tipo(tamaño) not null after first;  

El comando drop funciona para borrar cualquier cosa, sean campos, tablas y hasta la propia base de datos.

¿Cómo es hacer una copia de seguridad?:

Primero hay que salir de cmd con el comando "exit"

y luego se pone el comando:

\xampp\mysql\bin>

mysqldump -B -uroot -p biblioteca>c:/xampp/biblioteca.sql


Comando para restaurar una libreria

Comando source

Sintaxis

source "disco donde esta el xampp":/xampp/"nombre de la libreria a restaurar"

ejemplo

source c:/xampp/libreria2.sql

Comando para consultar 1 o mas campos

Comando select

Sintaxis

select campo1,campo2,campo3...campon from nombre de la tabla;

Ejemplo

select id_libro,titulo,precio from libro;

Para consultar toda la información se usa *

Ejemplo 

select * from libro;

Para campos muy específicos:

Ejemplo

select id_libro,titulo,numpg from libro where id_libro='L01';

Crear consultas 

ejemplo libros con páginas menores a 160

select * from "nombre de la tabla" where "condicional";

select * from libro where numpg<160;

Otro ejemplo

visualizar descripción(titulo),  numero de paginas y precio de los libros cuyo precio sea mayor a 5000.

select titulo,numpg,precio from libro where precio>5000;

Ejemplo de 2 condicionales

select * from libro where numpg>=100 and precio>=10000;

Visualizar los libros con codifo L01, L02 y L03

select * from libro where id_libro='L01' or id_libro='L02' or id_libro='L03';

Visualizar la información de los libros del L01 al L05

select * from libro where id_libro>='L01' and id_libro<='L05';

Podemos reemplazar el condicional "or" por "in" de la siguiente manera:

select * from libro where id_libro in ('L01','L02','L03');

Tambien podemos reemplazar el comando "and" con "between"

Comando para buscar información con coincidencias

Comando like

Sintaxis

like '%a' (Termina en la letra a)

like 'a%' (Inicia con la letra a)

like '%a%' (Que en alguna parte contenga a)

Visualizar la información de los libros que el titulo empiece en la letra C

select * from libro where titulo like 'C%';

Consultas en tablas relacionales 

select libro.id_libro,libro.titulo,autor.codaut,autor.nombre from libro,autor,liautedi where libro.id_libro=liautedi.id_libro1 and liautedi.codaut1=autor.codaut;

Si agregamos distinct para no repetir datos

select distinct libro.id_libro,libro.titulo,autor.codaut,autor.nombre from libro,autor,liautedi where libro.id_libro=liautedi.id_libro1 and liautedi.codaut1=autor.codaut;


Funciones Básicas para Realizar Cálculos

Función             Descripción

SUM                   Suma o Total

MAX                   Valor Máximo

MIN                    Valor Mínimo

COUNT               Contar o Cantidad

AVG                    Promedio

Sintaxis 

select "función"(valor o campo) from "nombre de la tabla"

Ejemplo cuántos libros hay en la librería

select count(*) from libro;

Para mejorar las consultas se le puede agregar el titulo de la consulta:

select count(*) 'Cantidad de Libros' from libro;

El asterisco es para todos, pero se puede buscar por campo en específico:

select count(Titulo) 'Cantidad de Libros' from libro;

select count(Precio) 'Cantidad de Libros' from libro;

Cuál es el valor total de los libros que posee la librería?

select sum(Precio) 'Valor Total de Todos los Libros' from libro;

Cuál es el libro más costoso que vende la librería?

select max(Precio) 'El Libro más Costoso vale:' from libro;

Cuál es el libro con el número más pequeño que vende la librería?

Hallar el valor promedio de los libros

select avg(precio) 'El Promedio del Valor de los Libros es' from libro;

Actualizar datos o registros de una tabla

Comando

Update

Sintaxis

update "nombre de tabla" set "nombre del campo a actualizar = 'valor' condición;

Actualizar el nombre de Redes a Redes y Comunicaciones:

update libro set titulo = 'Redes y Comunicaciones' where id_libro = 'L07';

update libro set cantidad = 5 where id_libro = 'L01';

update libro set cantidad = 10 where id_libro = 'L02';

.

.

.

update libro set cantidad = 35 where id_libro = 'L07';

Valor total de los libros de la librería(Cantidad * Precio)

update libro set vtotal = cantidad * precio;

Para eliminar información o registros(tuplas)

Comando 

Delete

Sintaxis

Delete from "tabla" where "condición"

Eliminar de la tabla libro el libro "Redes y Comunicaciones

delete from libro where id_libro = 'L07';

Para eliminar toda la información:

delete from libro;

Como Ordenar información

Comando 

Order by

Sintaxis

select * from "Nombre de tabla" order by "campo a ordenar" tipo de ordenado;

Ordenar la tabla libro por el Titulo (asc(ascendente)-desc(descendentemente))

 select * from libro order by titulo; (ascendentemente) 

select * from libro order by titulo desc; (descendentemente)

Si no se pone ninguno de los dos, se ordenará ascendentemente automáticamente.


Comando 

Join

Une 2 o más tablas, devolviedo la información que encuentra de esa unión(relación)

Sintaxis

select * from "tabla 1" inner join "tabla 2" on tabla1.id = tabla2.id inner join "tabla 3" on tabla2.id = tabla3.id2;

ejemplo 

select libro.id_libro,libro.titulo,autor.codaut,autor.nombre from libro inner join liautedi on libro.id_libro = liautedi.id_libro1 inner join autor on liautedi.codaut1 = autor.codaut;

Usamos "distinct" para que no se repitan campos

select distinct libro.id_libro,libro.titulo,autor.codaut,autor.nombre from libro inner join liautedi on libro.id_libro = liautedi.id_libro1 inner join autor on liautedi.codaut1 = autor.codaut;

Colocandole alias a las columnas 

select distinct libro.id_libro 'CODIGO' ,libro.titulo 'TITULO' ,autor.codaut 'CODIGO DEL AUTOR' ,autor.nombre 'NOMBRE' from libro inner join liautedi on libro.id_libro = liautedi.id_libro1 inner join autor on liautedi.codaut1 = autor.codaut;

Exportar consultas a excel

Comando

se le agrega a la instrucción

into outfile 'c:/xampp/libroautorjoin.xls'

Visualizar los autores con las editoriales que les publican los libros.

Análisis

Tabla 1 autor, tabla 2 liautedi, tabla 3 editorial

sintaxis

select * from autor inner join liautedi on autor.codaut = liautedi.codaut1 inner join editorial on liautedi.codedit1 = editorial.codedit;

Comando 

left join

Se usa 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 citados a Null;

Visualizar que libros no se les ha asignado un autor utilizando left join

tabla 1 libro, tabla 2 liautedi

Sintaxis 

select libro.id_libro,liautedi.id_libro1 from libro libro left join liautedi on libro.id_libro = liautedi.id_libro1 where liautedi.id_libro1 is null;

* Visualizar que autores no tienen una editorial asignada

tabla1 autor, tabla 2 liautedi

Comando 

right join

Opera del mismo modo que el left join pero ahora busca de la derecha a la izquierda, buscando las coincidencias, si no encuentra coincidencias se genera una fila extra con todos los campos citados en null

* Visualizar el listado de los libros que tienen al menso 1 autor asignado

tabla 1 libro, tabla 2 liautedi

sintaxis

select libro.id_libro, libro.titulo, liautedi.id_libro1 from libro right join liautedi on libro.id_libro = liautedi.id_libro1;


Base de datos Turismo

Group by

Sintaxis

select * from "nombre tabla" group by "nombre campo";

Se usa con las funciones matemáticas mayormente

* Visualizar las cantidades de visitantes por ciudad

Sintaxis

select nombredecampo, función(campoFunción) as nombredeseado from nombretabla group by nombredecampo

select ciudad, count(ciudad) as 'Cantidad de Visitantes' from visitantes group by ciudad;

* Monto total de lo gastado por ciudad de los visitantes

Análisis:

Que desea consultar

Campo en que se va a aplicar la función

Campo por el cual va a agrupar

Comando y función a utilizar

 Sintaxis

select ciudad, sum(montocompra) as 'Cantidad de Compras por ciudad' from visitantes group by ciudad;

* Visualizar el monto de compra por sexo

Que desea consultar

suma por sexo

Campo en que se va a aplicar la función

monto compra

Campo por el cual va a agrupar

sexo

Comando y función a utilizar

select- group by funcion sum

Sintaxis

select sexo, sum(montocompra) as 'Total de Compra por Sexo' from visitantes group by sexo;

* Visualizar las ciudades a las que van más de 2 visitantes

Sintaxis

Para condicionales en group by cambiamos el where por having

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

select ciudad, sexo, avg(montocompra) as 'Promedio de Compra por Ciudad y Sexo' from visitantes group by ciudad, sexo;

* Visualizar el monto compra por ciudad mayores a 5 millones.

select ciudad, sum(montocompra) as 'Montos Mayores a 5 Millones' from visitantes group by ciudad having sum(montocompra)>5000000;

*VISTAS*

Se Utiliza para crear tablas temporales

Comando 

View

Sintaxis

create view "nombre de la vista";

* Crear una vista con los nombres que terminan en A

Sintaxis

Consulta: select * from visitantes where nombre like'%a';

create view VisitantesA as select * from visitantes where nombre like'%a';

Comando para eliminar vistas

Drop view nombredelatabla;

Eliminar la tabla VisitantesA


PROCEDIMIENTOS ALMACENADOS

Subprogramas

Son importantes para no repetir instrucciones o por cuestión de seguridad

Trabajan con:

Select

Update

Insert

Delete

Trabajo simple (automático), dinámico (parámetros)

Procedimiento para insertar

Delimiter //

Create procedure insertar_alumno(in carnet_ char(10), in nombre_ char(40), in estado_ char(10))

Begin

Insert into alumno values(carnet_,nombre_,estado_);

End

//

Delimiter ;


show procedure status; (visualiza los procedimientos creados)

show create procedure insertar_alumno; (Ver el contenido del procedimiento)

Cargar o ejecutar un procedimiento

Call insertar('1140422165','Freddy Palacio','Activo'); e inserta el registro a la tabla

Para borrar un procedimiento

Drop procedure y el nombre del procedimiento.

Procedimiento para listar

Delimiter //

Create procedure listar_alumno()

Begin

Select * from alumno;

End

//

Delimiter ;

Procedimiento para consultar alumno
Delimiter //

Create procedure consultar_alumno(in carnet_ char(10))

Begin

Select * from alumno where carnet=carnet_;

End//

Delimiter ;

call consultar_alumno('1140422165');


Procedimiento para modificar alumno

Delimiter //

Create procedure actualizar_alumno(in carnet_ char(10), in nombre_ char(40), in estado_ char(10))

Begin

Update alumno set nombre=nombre_,estado=estado_ where carnet=carnet_;

End

//

Delimiter ;

LLAMADO AL PROCEDIMIENTO MODIFICAR ALUMNO y eliminar el alumno que se desee

call modi_alumno ('0001','Juan Pablo rava');

O digita el código y la información que de todos los campos para actualizarlos o calve primaria.

Copia de seguridad para bases de datos que trabajan procedimientos

mysqldump -B -uroot -p --routines matricula>d:/xampp/matricula_proce.sql

¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar