— LINEA DE COMANDOS —

PASOS PARA INICIAR MySql

Se abre pestaña panel XAMPP se incia el apache y MySql

Se da apertura a consola CMD, en esta se ejecuta el primer comando de arranque y presionamos enter;

>   cd/xampp/mysql/bin

Después de esto se ejecuta lo siguiente y presionamos enter; 

>   mysql -uroot -p 

Seguido de esto nos pedirá que digitemos la contraseña "En la cual no pondremos nada" y presionamos enter; 

Para guardar base de datos, se escribe lo siguiente;

>   tee c:/xampp/clase1mysql.txt

Para visualizar la base de datos, se escribe lo siguiente; 

>   Show databases;

COMANDOS PARA CREAR LA BASE DE DATOS

Comando:

>   Create

Sintaxis (Nombre de la base de datos)

>   Create database biblioteca;

COMANDOS PARA ABRIR O USAR LA BASE DE DATOS

Comando:

>   Use

Sintaxis (Se pone use y el nombre de la base de datos)

>   use biblioteca;

COMANDOS PARA VISUALIZAR LAS TABLAS

>   show tables;

COMANDOS PARA CREAR LAS TABLAS

Comando:

>   Create

Sintaxis

>   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)

Ejemplo 

>   create table libro

>   (Idlibro varchar(10) not null primary key,

>   Titulo varchar(50) not null,

>   Nropaginas int not null,

>   Precio float not null);

COMANDO PARA VISUALIZAR LA ESTRUCTURA DE LA TABLA

Comando:

>   Desbribe

Sintaxis

>   describe nombre_de_la_tabla;

Ejemplo:

>   describe libro; 

PASOS PARA HACER COPIA DE SEGURIDAD A LA BASE DE DATOS

1. Salirnos de MySql a nivel de consola con el comando (Exit)

2. Después escribir y ejecutar el siguiente comando presionando enter;

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

Ejemplo:

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

Se busca en la unidad donde se guardo y abrir con block de notas.

COMANDO PARA ELIMINAR BASE DE DATOS O TABLA

>   drop database biblioteca;

PROCESO PARA RESTAURAR BASE DE DATOS

Comando:

>   source 

Luego se arrastra el archivo desde la carpeta a la pantalla de comandos

COMO ELIMINAR LA CLAVE PRIMARIA DE UNA TABLA

Comando:

>   Drop

sintaxis

>   alter table nombretabla drop primary key;

Ejemplo:

>    alter table libro drop primary key; 

COMO DEFINIR LA CLAVE PRIMARIA A UNA TABLA

Comando:

>   modify

Sintaxis

>  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;

CREAR TABLAS RELACIONALES O DE MOVIMIENTO

comando:

>   Create

Sintaxis

>   MariaDB [biblioteca1]> create table libro_auto

   -->(Idlibro varchar(10) not null,

   -->Idautor varchar(5) not null,

foreign key(Idlibro) references libro(Idlibro) on delete cascade on update cascade,

foreign key(Idautor) references autor(Idautor) on deete cascade on update cascade); 

CONSULTA CON CONDICIONALES

Comando:

>   Where

Sintaxis

>   Select todos o campos específicos from nombretabla where campos con condiciones;

Ejemplo:

Visualizar la información del libro L01

MOSTRAR TABLA

> Select*from libro;

MOSTRAR SOLO UN DATO DE LA TABLA

>   Select * from libro where Idlibro= 'L01';

MOSTRAR

Visualizar el código y el nombre del libro L03

>   Select idlibro,Descripcion from libro where idlibro ='L03';

Crear una consulta para visualizar todos los libros con numero de paginas menores a 160 

>   Select * from libro where Nropagina <160;

Que información se desea mostrar o visualizar *

De que tabla desea mostrar esa información 

Identificar las condiciones si las hay 

Crear una consulta que visualice la descripción, el numero de paginas y el precio el cual sea mayor a 50000 pesos 

>   Select descripcion,Nropagina,Precio from libro where Precio >50000;

Crear una consulta de visualice todos los libros que en su nombre tengan redes

>   Select * from libro where Descripcion ='redes';

Realizar una consulta que visualice la información de los libros que contengan a partir de 100 paginas y su precio sea mayor o igual a 65000$

>   Select * from libro where Nropagina >=100 and Precio >=65000; 

Visualizar información de los libros L01, L02, L03

>   Select * from libro where Idlibro='L01' or Idlibro='L02' or Idlibro='L03';

Visualizar la informacion de los libros de los libros del L01 al L05

>   Select * from libro where Idlibro>='L01' and Idlibro<='L05';

REEMPLAZAR EL COMANDO OR POR EL COMANDO IN

Visualizar la infrmacion de los libros L01, L02, L03

>   Select * from libro where Idlibro in('L01', 'L02', 'L03');

REEMPLAZAR EL COMANDO AND POR EL COMANDO BETWEEN CUANDO SE MANEJAN INTERVALOS

Que información desea mostrar o visualizar

>   Select * from libro where Idlibro between 'L01' and 'L06';

Comando like sirve para buscar coincidencias o búsquedas no precisas 

Este comando tiene tres variables 

- Like '% a': que termine en la letra a 

- Like 'a%': que inicie en la letra a 

- Like '%a%': que en aguna parte contenga la a 

Visuaizar la informacion de los libro que comiencen con la letra c 

>   Select * from libro where Descripcion like 'c%';

Visualizar la informacion de los libros que comiencen con la letra S

>   Select * from libro where Descripcion like 's%';

Visualizar la información de los libros que en su nombre tengan la letra T 

>   Select * from libro where Descripcion like '%t%'; 

Visualizar los autores que empiecen con la letra J

>   Select * from autor where Nombre like 'j%';

Visualizar las editoriales que terminan en la letra A

>   Select * from editorial where Nombre like '%a';

Visualizar los libros que en su descripcion contienen el numero dos romaron ll

>   Select * from libro where Descripcion like '%II%';

Visualizar la información de los libros que en el nombre incluyan la palabra redes

>   Select * from libro where Descripcion like '%redes%';

CONSULTAS RELACIONALES (ENTRE VARIAS TABLAS)

Visualice el código del libro, el nombre del libro, el código de autor y el nombre del autor con sus respectivos libros escritos

Que desea consultar y de que tablas

Libro.Idlibro

Libro.descripcion

Autor.Idautor

Autor.Nombre

Que tablas se ven afectadas o involucradas?

Libro

Autor

Liautedi

Condicion

Ninguna

Como se relaciona las tablas

Libro.Idlibro=Liatedi.Idlibro

Luatedi.Idautor=autor.Idautor

Comando se debe utilizar

Select

Distinct es para que no se repita a informacion varias veces en la conslta

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;

Consulta de que libro es ese autor Luis Joyanes

> Select Libro.descripcion,Autor.nombre from libro, autor,Liautedi where autor.nombre='Luis Joyanes' and Libro.Idlibro=Liautedi.Idlibro and Liautedi.Codautor=autor.Codautor;

> Select libro.descripcion,autor.nombre,editorial.nombre from libro, autor, editorial, liautedi where libro.idlibro=liautedi.idlibro and liautedi.codautor=autor.codautor and editorial.codedit=liautedi.codedit; 

> 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; 

FUNCIÓN DESCRIPCIÓN

- SUM Suma o total

- MAX Valor maximo

- MIN Valor minimo

- COUNT Contar o cantidad

- AVG Promedio

  • Que se desea calcular y de que tabla (s)

Cantidad de libros

Tabla libro

  • Que tablas se ven afectadas

Libro

  • Condición

No

  • Como se relacionan las tablas

No aplica

  • Sintaxis

> Select count(*) from libro;

> Select count(*) 'cantidad de libro' from libro;

Cual es el valor total de los libros que posee la librería

>   Select sum(precio) 'valor total' from libro;

Cual es el libro mas costoso que vende la librería

>   Select max(precio) 'mas costoso' from libro;

>   Select descripción, max(precio) 'mas costoso' from libro; 

Cual es el numero de paginas del libro mas peque que vende la librería

>   Select min(Nropagina) 'Menos numero de paginas' from libro;

Cual es el valor promedio de los libros que vende la librería

> Select avg(precio) 'promedio de libros' from libro;

Modificar o actualizar datos o registros

Comando

>   Update

Sintaxis

>   Update nombre tabala set nombre del campo a actualizar 'valor' condición;

Update libro set descripcion='Redes y comunicaciones' where idlibro='L07';

Cambiar el precio del libro Contabiidad 1 por 100000

>   Update libro set precio='100000' where idlibro='L06';

Comando para eliminar registros de una tabla

Comando

>   Delete

Sintaxis

>   Delete from tabla where condición

Eliminar libro de comunicaciones y redes

>   delete from Libro where Idlibro='L07';

Comando para ordenar información

Comando

>   Order by

Sintaxis

>   Select * from nombre de la tablar order by campoaordenar tipoordenado;

Ordenar la tabla libro por el campo de descripción

>   Select * from libro order by descripcion;

Ordenar la tabla libro por el campo de descripción de forma descendente

>   Select * from libro order by descripcion desc;

Ordenar la tabla libro de forma descendente por el campo precio

>   Select * from libro order by precio desc;

Ordenar la tabla autor por el nombre del autor de forma ascendente

>   Select * from autor order by nombre;


*****************************************************************************

*****************************************************************************

Para consultar con condicional
comando: 

select - where

sintaxis: 

select * (todos) o nombre campo_especifico form nombre_tabla where campo_con_condiciones.

ejemplo: 

select*from libro where idlibro='L01';

Análisis 

Que información se desea mostrar o visualizar *Tabla LibroCondición: número de paginas <160

Sintaxis 

select * from libro where nropagina<160;Pregunta:

- Crear una consulta que visualice descripción, número de páginas y precio de los libros cuyo precio sea mayor a 50000 pesos.

Análisis:

Primero listar los campos solicitados (Descripción, numero de paginas y precio) luego seleccionar tabla libro y realizar la pregunta (Precio mayor a 500000).

Sintaxis 

Select descripcion, nropagina, precio from libro where precio>50000;

Pregunta:

- Crear una consulta que visualice todos los libros que tengan el nombre de redes.

Análisis: 

Que información se dea mostrar o viasualizar (*) Tabla Libro
Condición: nombre del libro=redes 

sintaxis

select * from libro where descripcion='redes';

Pregunta: 

Realizar una consulta que visualice la información de los libros que tengan a partir de 100 paginas y su precio sean mayor o igual a 65000.

Análisis:

Que información se desea mostrar o visualizar (*)Tabla LibroCondición: nropagina>=100 and precio>=65000;

sintaxis:

select * from libro where nropaginas>=100 and precio>=65000;

Pregunta:

Visualizar la información de los libros L01, L02, L03

Análisis: 

Que información vamos a mostrar o visualizar (*)Tabla LibroCondición: Codigo=L01 o codigo=L02 or codigo=L03

Sintaxis: 

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

Pregunta:

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

Análisis:

Que información se desea mostrar o visualizar (*)Tabla LibroCondición: Codigo>=L01 y codigo<=L05

Sintaxis

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

REEMPLAZAR EL COMANDO OR POR EL COMANDO IN

Pregunta:

Visualizar la información de los libros L01, L02, L03.

Análisis:

Que información se desea mostrar o visualizar (*)Tabla LibroCondición: codigo=L01 o codigo=L02 or codigo=L03

Sintaxis 

select * from libro where idlibro in('101','102','103');

REEMPLAZAR EL COMANDO AND POR EL COMANDO BETWEEN CUANDO SE MANEJAN INTERVALOS

Análisis: 

Que información se desea mostrar o visualizar (*)Tabla LibroCondición: código del Libro entre L01 y L06 

Sintaxis

select * from libro where idlibro betweem 'L01' and 'L06'; 

El comando like sirve para buscar coincidencias o búsquedas no precisas.Este comando tiene tres variables:

-Like '% a': Que termina con la letra a-Like 'a%': Que inicia en la letra a-Like '%a%': Que en alguna parte contenga la a.

Pregunta: 

Visualizar la información de los libros que comiencen con la letra c

Análisis:

Que información se desea mostrar o visualizar (*)Tabla LibroCondición: El nombre del libro comience con la letra C

Sintaxis

select * from libro where descripción like 'c%';
Pregunta: Visualizar la información de los libros que TERMINEN con la letra s

sintaxis

select * from libro where descripcion like '%s'

Pregunta: 

Visualizar la información de los libros que en el nombre incluyan las palabras redes

sintaxis:

select * from libro where descripcion like '%redes%'

CONSULTAS RELACIONALES (ENTRE VARIAS TABLAS)

 Visualizar 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

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.titulo,autor.codautor,autor.nombre from libro,autor,liautedi where libro.idlibro=liautedi.idlibro and liautedi.codautor=autor.codautor;

El DISTINCT No repetir datos en una consulta

Pregunta:

Consultar quien es el autor del libro Estructura de datos

Análisis

select libro.titulo,autor.nombre from libro,autor,liautedi where libro.titulo='Estructura de datos' and libro.idlibro=liautedi.idlibro and liautedi.codautor=autor.codautor;

Pregunta: 

Consultar de que libro es autor Luis Joyanes.

*****************************************************************************

*****************************************************************************

Pregunta:

Visualizar 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?

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 Todas los campos de funciones execto COUNT son numéricas.

Sintaxis

select funcion(valor o campo) from nombretabla; 

Ejemplo: 

Cuantos libros hay en la librería

Análisis:

1. Que se desea calcular y de que tabla(s)Cantidad de librosTabla Libro
2. Que tablas se ven afectadas o involucradas?Libro
3. Condición(es)No..
4. Como se relacionan las tablas?No aplicaFunción a utilizar: Count


Sintaxis

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

Ejemplo: 

Cual es el valor total de los libros que posee la librería

sintaxis

select sum(precio)'Valor Total' from libro;

Ejemplo: 

Cual es el valor del libro más costoso que vende la librería

sintaxis

select max(precio)'Valor del libro'from libro;

Ejemplo: 

Cuál es el número de páginas del libro más pequeño que vende la librería

sintaxis:

select min(nropaginas)'Valor del libro' from libro;

Ejemplo: 

Hallar el valor promedio de los libros 

1. Que se desea calcular y de que tabla(s)Valor promedio del precioTabla Libro

3. Condición(es)No..

4. Como se relacionan las tablas?No aplica Función a Utilizar: Avg

Sintaxis

select Avg (precio)'Valor promedio de un libro' from libro;

COMO 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='Redews y Comunicaciones' where idlibro='L07';

INSERTAR EN LA TABLA LIBRO LOS CAMPOS CANTIDAD TIPO ENTERO Y VTOTAL TIPO FLOAT 

sintaxis:

alter table libro add cantidad int not null;alter table libro add vtotal float not null;
Para validar que quedo bien se coloca lo siguiente:

- Select * from libro;ACTUALIZAR LA CANTIDAD DE LIBROS, COMENZANDO EN 5 PARA EL PRIMER LIBRO E INCREMENTAR DE 5 EN 5 PARA LOS DEMÁS.
Sintaxis:

update libro set cantidad=5 where idlibro='101';

CALCULAR EL VALOR TOTAL DE LOS LIBROS

Sintaxis

update libro set vtotal=cantidad*precio;

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.

COMANDO: 

Delete

Sintaxis 

delete from tabla where condicion;

ELIMINAR DE LA TABLA LIBRO, EL LIBRO DE DIAGRAMACION

Sintaxis

Delete from libro where idlibro='L08'; o Tambien delete from libro where  escripcion='Diagramacion';

ORDENAR LA INFOMACION

COMANDO:

 Order by

Sintaxis

Select*from NombreTabla order by descripcion;

NOTA: Si desea ordenar de forma ascendente se agrega asc o descendente se agrega desc al final de la sintaxis.

TituloNropaginas

*****************************************************************************

*****************************************************************************

COMANDO JOIN

El comando join en mysql, sirve para combinar 2 o más tablas según la designación de variables que queremos o necesitamos.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:

* Visualizar 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 invoñlucradas?

Libro (Tabla 1) Autor (Tabla 3) Liautedi (Tabla 2)

3. Condición (es)

Ninguna

4. Como se relacionan las tablas?

libro.idlibro=liautedi.idlibroliautedi.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';

Guardar en excel el resultado de una consulta:

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 ceteados(Muestra datos) a NULL.

* Visualizar a 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;select libro.idlibro,libro.titulo,liautedi.idlibro from libro left join liautedi on libro.idlibro=liautedi.idlibro where liautedi.idlibro is null;

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.

* 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;

Comando: 

select distinct libro.idlibro,libro.titulo,liautedi.idlibro from libro right join liautedi on libro.idlibro=liautedi.idlibro; 

Ejercicios:

1. Visualizar los autores con las editoriales que le publican

select distinct autor.codautor,editorial.codedit,editorial.nombre from autor right join liautedi on autor.codautor=liautedi.codautor inner join editorial on liautedi.codedit=editorial.codedit;

2. Visualizar que autores no han escrito libros.

select autor.nombre,liautedi.codautor from autor left join liautedi on autor.codautor=liautedi.codautor where liautedi.codautor is null;

3. Visualizar las asignaturas que tienen libros asignados. 

select asignatura.nombre,libro.idlibro from asignatura right join libro on asignatura.codigomat=libro.codigomat;

*****************************************************************************

*****************************************************************************

AGRUPAR INFORMACIÓN

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

CANTIDAD DE VISITANTES POR CIUDAD

2. Campo en el que se aplica la función

MONTOCOMPRA O CIUDAD

3. Campo por el cual 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

Comando:

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

Comando:

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

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 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 ANÁLISIS

1. Que se desea consultar

COMPRA POR CIUDAD MAYORES A 5 MILLONES

2. campo en el que se aplica la función

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 con A

1. Select * from visitantes where nombre like '%a';2. create view visitantesa as select * from visitantes where nombre like '%a';

2. 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

INSERTAR NUEVO VISITANTES

insert into visitantes(nombre,ciudad,sexo,montocompra)values('Ana Maria Guerrero Guasca','Cartagena','Femenino',5000000);

Coincide también el dato ingresado en la vista,

ELIMINAR UNA VISTA

Drop view nombredelavista;

Eliminar la vista visitantesa 

Drop view visitantesa;

OTROS COMANDOS MYSQL

Comando Auto_increment:

Permite crear campos que se autoincrementan automaticamente

CREAR UNA TABLA UTILIZANDO ESTE COMANDO

EJEMPLO:

CREAR UNA TABLA UTILIZANDO EL SIGUIENTE COMANDO:

- create table edicion(codigo int auto_increment primary key, descripcion char(30) not null);

QUEDA ASI:

insert into edicion(descripcion) value('primera edicion'),('Segunda edicion'),('Tercera edicion');

ELIMINAR TODOS LOS REGISTROS

Comando:

- delete from ediccion;
---------------------------------------------
COMANDO TRUNCATE

Hace un borrado físico de los registros de las tablas y recupera los consecutivos; mientras que delete hace un borrado lógico y no borra consecutivos.

EJEMPLOS:

Truncate table edicion; 

Se vuelven a insertar las tablas y quedan de nuevo así;

CREAR TABLA NUEVA

create table producto(codigo int auto_increment, nombre char(30) not null,precio float, primary key (Codigo));

insert into producto(nombre,precio)value(' camisa', 25000),('pantalon',45000),('chaqueta', -100000);

COMANDO UNSIGNED

Este comando no deja ingresar datos negativo

- alter table producto modify precio float unsigned not null;

Comando para modificar el campo 3 (Chaqueta) con costo $100.000

- update producto set precio=100000 where codigo=3;

*****************************************************************************

*****************************************************************************

SUBCONSULTAS Y PROCEDIMIENTOS ALMACENADOS

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

ANÁLISIS

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

Sintaxis

- 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

c) Condiciones = ninguna

d) Comando update

Sintaxis

update detalle set total = cantidad * valorventa;

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

ANÁLISIS

a) Campo a reemplazar = existencia de la tabla articulo

b) Con quien o que lo va a reemplazar = cantidad-suma(cantidad) de la cantidad de la tabla detalle.

c) Condiciones = detalle.codigo = articulo.codigo

d) Comando update

Sintaxis

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

Sintaxis

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

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

Sintaxis

create table copia like detalle;

Sintaxis

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

Duplicar la estructura y enviarle todos los datos

Sintaxis

- create table copiaaux like detalle;

- insert copiaaux select * from detalle;

Adjunto archivo txt. explicación de subconsultas

*****************************************************************************

*****************************************************************************

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

1. Delimiter //

2. create procedure insertaralumno(in _carnet char(10),in _nombre char(40),in _estado char(10))

3. Begin

4. insert into alumno values(_carnet,_nombre,_estado);

5. End

6. //

7. Delimiter ;


Ver los procedimientos almacenados creados

- Show procedure status; (visualiza los procedimientos creados)

Ver el contenido del procedimiento

- Show créate procedure nombre del procedimiento;

Cargar o ejecutar un procedimiento

- Call insertar('012','sofia'); e inserta el registro a la tabla

Para borrar un procedimiento

- Drop procedure y el nombre del procedimiento.

Procedimiento para listar

1. Delimiter //

2. Create procedure listar()

3. Begin

4. Select * from alumno;

5. End

6. //

7. Delimiter ;

Procedimiento para consultar alumno

1. Delimiter //

2. Create procedure cons_alumno(in car char(10))

3. Begin

4. Select *from alumno where carnet=car;

5. End

6. //

7. Delimiter ;

LLAMADO AL PROCEDIMIENTO CONSULTAR ALUMNO y consultar el alumno que se desee

- call cons_alumno ('13');

O digita el código que desee consultar o calve primaria

Procedimiento para eliminar alumno

1. Delimiter //

2. Créate procedure eli_alumno(in car char(10))

3. Begin

4. Delete from alumno where carnet=car;

5. End

6. //

7. Delimiter ;

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

call eli_alumno ('012');

O digita el código que desee eliminar o calve primaria

Procedimiento para modificar alumno

1. Delimiter //

2. Create procedure modi_alumno(in car char(10), in nom char(40),in est char(10))

3. Begin

4. Update alumno set nombre=nom, estado=es  where carnet=car;

5. End

6. //

7. Delimiter ;

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

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

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

Después de todas las practicas realizadas, para guardar la BD con los comandos que se aplicaron se debe ejecutar el siguiente comando a diferencia de la copia que se realiza normal:

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

Adjunto BD donde se realizaron las practicas de subconsultas:

DHSYSTEM  Medellín, Colombia - Todos los derechos reservados 2019
Creado con Webnode
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar