Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

24
Sesión 08: Ing. Edgar A. Cruz Huaman INSTITUTO SUPERIOR TECNOLÓGICO INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” “SAN PEDRO” Librería Online en PHP & Introducción a MySql

description

TOPICOS AVANZADOS: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

Transcript of Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

Page 1: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

Sesión 08:

Ing. Edgar A. Cruz Huaman

INSTITUTO SUPERIOR TECNOLÓGICO INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”“SAN PEDRO”

Librería Online en PHP & Introducción a MySql

Page 2: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

I. Librería Online en PHP

Page 3: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

II. Emisión de Reporte en PHP

Page 4: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

III. MySql

• MySQL es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones.

• MySQL es muy utilizado en aplicaciones web.

Page 5: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

Conectándose y desconectándose al servidor MySQL

• shell> mysql -h NombreDelServidor -u NombreDeUsuario -p – root@saber:~# mysql -h localhost -u root -p

• Salir– "quit", "exit", o presionar CONTROL+D.

Page 6: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

EJECUTANDO ALGUNAS CONSULTAS

• mysql> select version();

• mysql> SELECT * FROM mi_tabla WHERE nombre = "Lupita AND edad < 30;">

• EL PROMPT DE MYSQL– Consultas en varias lineas.– Para cancelar la consulta: “c” o “\c”.

Page 7: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

ACCEDIENDO A UNA BASE DE DATOS

• Mostrar las DB existentes.– mysql> show databases;

• Usar una DB.– mysql> USE test Database changed

Page 8: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

CREANDO UNA BASE DE DATOS

• ERROR 1049:– mysql> USE zoologico;

• Crear la DB:– mysql> CREATE DATABASE zoologico;

• Ingreso y uso de una DB desde el monitor.– shell>mysql -h localhost -u edgar -p zoologico

Page 9: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

CREANDO UNA TABLA

• CREATE TABLE mascotas( -> nombre VARCHAR(20), propietario VARCHAR(20),

-> especie VARCHAR(20), sexo CHAR(1), nacimiento DATE,

-> fallecimento DATE);

• Mostrar Tablas– mysql> show tables;

• Describir Tablas– mysql> DESCRIBE mascotas;

Page 10: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

CARGANDO DATOS EN UNA TABLA (I)

• sentencias INSERT y LOADNombre Propietario Especie Sexo Nacimiento Fallecimento

Fluffy Arnoldo Gato f 2008-02-04

Mau Juan Gato m 2003-03-17

Buffy Arnoldo Perro f 2006-05-13

FanFan Benito Perro m 2007-08-27

Kaiser Diana Perro m 2006-08-31 1997-07-29

Chispa Omar Ave f 2006-09-11

Wicho Tomás Ave 2007-02-09

Skim Benito Serpiente m 2001-04-29

Page 11: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

CARGANDO DATOS EN UNA TABLA (II)

• crear un archivo de texto "mascotas.txt".

• Cargar la data.– mysql> LOAD DATA LOCAL INFILE "mascotas.txt" INTO

TABLE mascotas;

• Insercion registro por registro.– mysql> INSERT INTO mascotas

-> VALUES('Pelusa','Diana','Hamster','f','2000-03-30',NULL);

Page 12: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

Recuperacion, Actualizacion y Eliminar registros de una Tabla

• Recuperar datos.– SELECT LaInformaciónQueDeseamos FROM

DeQueTabla WHERE CondiciónASatisfacer;

– mysql> SELECT * FROM mascotas;

• Eliminar registros de una tabla– mysql> DELETE FROM mascotas;

• Actualizar los datos de una Tabla.– mysql> UPDATE mascotas SET nacimiento="1989-08-

31" WHERE nombre="Kaiser";

Page 13: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

SELECCIONANDO REGISTROS PARTICULARES

• mysql> SELECT * FROM mascotas WHERE nombre="Kaiser";

• mysql> SELECT * FROM mascotas WHERE nacimiento >= "2000-1-1";

• mysql> SELECT * FROM mascotas WHERE especie="Perro" AND sexo="f";

• mysql> SELECT * FROM mascotas WHERE especie = "Ave" OR especie = "Gato";

• mysql> SELECT * FROM mascotas WHERE (especie = "Gato" AND sexo = "m") OR (especie = "Perro" AND sexo = "f");

Page 14: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

SELECCIONANDO COLUMNAS PARTICULARES

• mysql> SELECT nombre, nacimiento FROM mascotas;

• mysql> SELECT propietario FROM mascotas;

• mysql> SELECT DISTINCT propietario FROM mascotas;

• mysql> SELECT nombre, especie, nacimiento FROM mascotas WHERE especie = "perro" OR especie = "gato";

Page 15: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

ORDENANDO REGISTROS

• mysql> SELECT nombre, nacimiento FROM mascotas ORDER BY nacimiento;

• mysql> SELECT nombre, nacimiento FROM mascotas ORDER BY nacimiento DESC;

• mysql> SELECT nombre, especie, nacimiento FROM mascotas ORDER BY especie, nacimiento DESC;

Page 16: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

CALCULOS CON FECHAS (i)

• mysql> SELECT nombre, nacimiento, CURRENT_DATE,

-> (YEAR(CURRENT_DATE) - YEAR(nacimiento))

-> - (RIGHT(CURRENT_DATE,5) < RIGHT(nacimiento,5)) AS edad FROM mascotas;

• mysql> SELECT nombre, nacimiento, CURRENT_DATE,

-> (YEAR(CURRENT_DATE) - YEAR(nacimiento))

-> - (RIGHT(CURRENT_DATE,5) < RIGHT(nacimiento,5))

-> AS edad FROM mascotas ORDER BY edad;

Page 17: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

CALCULOS CON FECHAS (ii)

• Ejercicio: Encontrar los animales que cumplen año el proximo mes.– mysql> SELECT nombre, nacimiento,

MONTH(nacimiento) FROM mascotas;

– mysql> SELECT nombre, nacimiento FROM mascotas WHERE MONTH(nacimiento) = 5;

• Extra:– mysql> SELECT nombre, nacimiento FROM mascotas

WHERE MONTH(nacimiento) = MONTH(DATE_ADD(NOW(), INTERVAL 1 MONTH));

Page 18: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

COINCIDENCIA DE PATRONES

• Para encontrar los nombres que comienzan con b :

– mysql> SELECT * FROM mascotas WHERE nombre LIKE "b%";

• Para encontrar los nombres que finalizan con fy :

– mysql> SELECT * FROM mascotas WHERE nombre LIKE "%fy";

• Para encontrar nombres que contienen una s :

– mysql> SELECT * FROM mascotas WHERE nombre LIKE "%s%";

Page 19: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

CONTEO DE FILAS

• # de mascotas:

– mysql> SELECT COUNT(*) FROM mascotas;

• # de mascotas por propietario:

– mysql> SELECT propietario, COUNT(*) FROM mascotas GROUP BY propietario;

• El número de animalitos por especie:

– mysql> SELECT especie, COUNT(*) FROM mascotas GROUP BY especie ;

• número de animalitos por sexo, y cuyo sexo es conocido:

– mysql> SELECT especie, sexo, COUNT(*) FROM mascotas

WHERE especie="Perro" OR especie="Gato" GROUP BY especie, sexo;

Page 20: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

USANDO MAS DE UNA TABLA

• Ejercicio:– El nombre de la mascota para saber a cuál de

ellas se refiere el evento.– Una fecha para saber cuando ocurrió el

evento.– Una descripción del evento.– Un campo que indique el tipo de evento, si

deseamos categorizarlos.

Page 21: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

USANDO MAS DE UNA TABLA (ii)

• mysql> CREATE TABLE eventos(nombre varchar(20), fecha date, tipo varchar(15), descripcion varchar(255));

Page 22: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

Cargar los datos para la tabla eventos

• nombre fecha tipo descripción• Fluffy 2001-05-15 camada 4 gatitos, 3 hembras, 1 macho

• Buffy 2001-06-23 camada 5 perritos, 2 hembras, 3 machos

• Buffy 2002-06-19 camada 2 perritos, 1 hembra, 1 macho

• Chispa 2000-03-21 veterinario Una pata lastimada

• FanFan 2001-08-27 cumpleaños Primera vez que se enfermo de la panza

• FanFan 2002-08-03 veterinario Dolor de panza

• Whicho 2001-02-09 cumpleaños Remodelación de casa

– P.D. Guardar el archivo eventos.txt

– mysql> LOAD DATA LOCAL INFILE "eventos.txt" INTO TABLE eventos;

Page 23: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman

• Desemos conocer la edad de cada mascota cuando tuvieron una camada.– mysql> SELECT mascotas.nombre, (TO_DAYS(fecha) -

TO_DAYS(nacimiento))/365 AS edad, descripcion FROM mascotas, eventos WHERE mascotas.nombre=eventos.nombre AND tipo='camada';

Page 24: Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. Edgar A. Cruz Huaman