— 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: