Sesión 08: Ing. Edgar A. Cruz Huaman INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”   Librería Online en PHP & Introducción a MySql
I. Librería Online en PHP
II. Emisión de Reporte en PHP
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.
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.
EJECUTANDO ALGUNAS CONSULTAS mysql> select version(); mysql> SELECT * FROM mi_tabla WHERE nombre = &quot;Lupita AND edad < 30;&quot;> EL PROMPT DE MYSQL Consultas en varias lineas. Para cancelar la consulta: “c” o “\c”.
ACCEDIENDO A UNA BASE DE DATOS Mostrar las DB existentes. mysql> show databases; Usar una DB. mysql> USE test Database changed
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
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;
CARGANDO DATOS EN UNA TABLA (I)‏ sentencias  INSERT y LOAD Nombre  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
CARGANDO DATOS EN UNA TABLA (II)‏ crear un archivo de texto &quot; mascotas.txt &quot;. Cargar la data. mysql>  LOAD DATA LOCAL INFILE  &quot;mascotas.txt&quot; INTO TABLE mascotas; Insercion registro por registro. mysql>  INSERT INTO  mascotas ->  VALUES ('Pelusa','Diana','Hamster','f','2000-03-30',NULL);
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=&quot;1989-08-31&quot; WHERE nombre=&quot;Kaiser&quot;;
SELECCIONANDO REGISTROS PARTICULARES mysql> SELECT * FROM mascotas WHERE nombre=&quot;Kaiser&quot;; mysql> SELECT * FROM mascotas WHERE nacimiento >= &quot;2000-1-1&quot;; mysql> SELECT * FROM mascotas WHERE especie=&quot;Perro&quot;  AND  sexo=&quot;f&quot;; mysql> SELECT * FROM mascotas WHERE especie = &quot;Ave&quot;  OR  especie = &quot;Gato&quot;; mysql> SELECT * FROM mascotas WHERE  ( especie = &quot;Gato&quot; AND sexo = &quot;m&quot; ) OR ( especie = &quot;Perro&quot;  AND  sexo = &quot;f&quot; ) ;
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 = &quot;perro&quot;  OR  especie = &quot;gato&quot;;
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 ;
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;
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));
COINCIDENCIA DE PATRONES Para encontrar los nombres que comienzan con b :  mysql> SELECT * FROM mascotas WHERE nombre LIKE &quot;b%&quot;; Para encontrar los nombres que finalizan con fy :  mysql> SELECT * FROM mascotas WHERE nombre LIKE &quot;%fy&quot;; Para encontrar nombres que contienen una s :  mysql> SELECT * FROM mascotas WHERE nombre LIKE &quot;%s%&quot;;
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=&quot;Perro&quot; OR especie=&quot;Gato&quot;  GROUP BY  especie, sexo;
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.
USANDO MAS DE UNA TABLA (ii)‏ mysql> CREATE TABLE eventos(nombre varchar(20), fecha date, tipo varchar(15), descripcion varchar(255));
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 &quot;eventos.txt&quot; INTO TABLE eventos;
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';
PREGUNTAS?

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

  • 1.
    Sesión 08: Ing.Edgar A. Cruz Huaman INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Librería Online en PHP & Introducción a MySql
  • 2.
  • 3.
    II. Emisión deReporte en PHP
  • 4.
    III. MySql MySQLes 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.
  • 5.
    Conectándose y desconectándoseal servidor MySQL shell> mysql -h NombreDelServidor -u NombreDeUsuario -p root@saber:~# mysql -h localhost -u root -p Salir &quot;quit&quot;, &quot;exit&quot;, o presionar CONTROL+D.
  • 6.
    EJECUTANDO ALGUNAS CONSULTASmysql> select version(); mysql> SELECT * FROM mi_tabla WHERE nombre = &quot;Lupita AND edad < 30;&quot;> EL PROMPT DE MYSQL Consultas en varias lineas. Para cancelar la consulta: “c” o “\c”.
  • 7.
    ACCEDIENDO A UNABASE DE DATOS Mostrar las DB existentes. mysql> show databases; Usar una DB. mysql> USE test Database changed
  • 8.
    CREANDO UNA BASEDE 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
  • 9.
    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;
  • 10.
    CARGANDO DATOS ENUNA TABLA (I)‏ sentencias INSERT y LOAD Nombre 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
  • 11.
    CARGANDO DATOS ENUNA TABLA (II)‏ crear un archivo de texto &quot; mascotas.txt &quot;. Cargar la data. mysql> LOAD DATA LOCAL INFILE &quot;mascotas.txt&quot; INTO TABLE mascotas; Insercion registro por registro. mysql> INSERT INTO mascotas -> VALUES ('Pelusa','Diana','Hamster','f','2000-03-30',NULL);
  • 12.
    Recuperacion, Actualizacion yEliminar 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=&quot;1989-08-31&quot; WHERE nombre=&quot;Kaiser&quot;;
  • 13.
    SELECCIONANDO REGISTROS PARTICULARESmysql> SELECT * FROM mascotas WHERE nombre=&quot;Kaiser&quot;; mysql> SELECT * FROM mascotas WHERE nacimiento >= &quot;2000-1-1&quot;; mysql> SELECT * FROM mascotas WHERE especie=&quot;Perro&quot; AND sexo=&quot;f&quot;; mysql> SELECT * FROM mascotas WHERE especie = &quot;Ave&quot; OR especie = &quot;Gato&quot;; mysql> SELECT * FROM mascotas WHERE ( especie = &quot;Gato&quot; AND sexo = &quot;m&quot; ) OR ( especie = &quot;Perro&quot; AND sexo = &quot;f&quot; ) ;
  • 14.
    SELECCIONANDO COLUMNAS PARTICULARESmysql> 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 = &quot;perro&quot; OR especie = &quot;gato&quot;;
  • 15.
    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 ;
  • 16.
    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;
  • 17.
    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));
  • 18.
    COINCIDENCIA DE PATRONESPara encontrar los nombres que comienzan con b : mysql> SELECT * FROM mascotas WHERE nombre LIKE &quot;b%&quot;; Para encontrar los nombres que finalizan con fy : mysql> SELECT * FROM mascotas WHERE nombre LIKE &quot;%fy&quot;; Para encontrar nombres que contienen una s : mysql> SELECT * FROM mascotas WHERE nombre LIKE &quot;%s%&quot;;
  • 19.
    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=&quot;Perro&quot; OR especie=&quot;Gato&quot; GROUP BY especie, sexo;
  • 20.
    USANDO MAS DEUNA 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.
  • 21.
    USANDO MAS DEUNA TABLA (ii)‏ mysql> CREATE TABLE eventos(nombre varchar(20), fecha date, tipo varchar(15), descripcion varchar(255));
  • 22.
    Cargar los datospara 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 &quot;eventos.txt&quot; INTO TABLE eventos;
  • 23.
    Desemos conocer laedad 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';
  • 24.