INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”
Sesión 09: Trabajando con MySql en Modo Consola.
Ing. Edgar A. Cruz Huaman
Presentación de Trabajo Práctico • Librería Online en PHP.
INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”
Ing. Edgar A. Cruz Huaman
Tabla Mascotas 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
Skim
Benito
Serpiente
INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”
2007-02-09 m
2001-04-29
Ing. Edgar A. Cruz Huaman
I. Recupera, Actualiza y Elimina Registros de una Tabla. • Recuperar datos. – SELECT LaInformaciónQueDeseamos FROM DeQueTabla WHERE CondiciónASatisfacer; – mysql> SELECT * FROM mascotas;
• Actualizar los datos de una Tabla. – mysql> UPDATE mascotas SET nacimiento="1989-0831" WHERE nombre="Kaiser";
• Eliminar registros de una tabla – mysql> DELETE FROM mascotas; INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”
Ing. Edgar A. Cruz Huaman
II. SELECCIONANDO REGISTROS PARTICULARES • mysql> SELECT * FROM mascotas WHERE nombre="Kaiser"; • mysql> SELECT * FROM mascotas WHERE nacimiento >= "2000-1-1"; • Ejercicios: – Seleccionar todos los campos de la tabla mascotas con la condición de que la especie sea “perro” de sexo “masculino”. – Seleccionar los registros de mascotas considerando que las especies sean: “perro” ó “serpiente”. – Seleccionar los registros de mascotas con la condición de que la especie sea “perro”, ó la especie sea “gato” y a la ves su sexo sea “masculino”.
INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”
Ing. Edgar A. Cruz Huaman
III. SELECCIONANDO COLUMNAS PARTICULARES • mysql> SELECT nombre, nacimiento FROM mascotas; • mysql> SELECT propietario FROM mascotas; • Ejercicios: – Seleccionar las distintas especies de la tabla mascotas. – Seleccionar el nombre y especie de la tabla mascotas, cuya especie sea “ave” o “gato”.
INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”
Ing. Edgar A. Cruz Huaman
IV. ORDENANDO REGISTROS • mysql> SELECT nombre, nacimiento FROM mascotas ORDER BY nacimiento; • mysql> SELECT nombre, nacimiento FROM mascotas ORDER BY nacimiento DESC; • Ejercicio: – Listar los registros, cuyos campos sean “nombre”, “sexo” y “nacimiento” de la tabla mascotas, los cuales seran ordenados por: “nombre” y “nacimiento” de manera descendente.
INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”
Ing. Edgar A. Cruz Huaman
V. 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;
INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”
Ing. Edgar A. Cruz Huaman
VI. 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%";
INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”
Ing. Edgar A. Cruz Huaman
VII. CONTEO DE FILAS • # de mascotas: – mysql> SELECT COUNT(*) FROM mascotas; • # de mascotas por propietario: – mysql> SELECT propietario, COUNT(*) FROM mascotas GROUP BY propietario;
INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”
Ing. Edgar A. Cruz Huaman
VIII. 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.
INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”
Ing. Edgar A. Cruz Huaman
VIII. USANDO MAS DE UNA TABLA (ii) • mysql> CREATE TABLE eventos(nombre varchar(20), fecha date, tipo varchar(15), descripcion varchar(255));
INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”
Ing. Edgar A. Cruz Huaman
IX. 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; INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”
Ing. Edgar A. Cruz Huaman
X. Consulta. • 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';
INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”
Ing. Edgar A. Cruz Huaman
XI. USANDO MYSQL EN MODO BATCH • Ejemplo: – shell> mysql < archivo-batch • En caso de Error: – shell> mysql --force < archivo-batch • Parametros de conexión desde la linea de comandos: – shell> mysql -h localhost -u root -p < archivo-batch • Extras: – shell> mysql < archivo-batch | less – shell> mysql < archivo-batch > salida-del-script.txt INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”
Ing. Edgar A. Cruz Huaman
XII. USANDO MYSQL EN MODO BATCH (ii) • Archivo: especies-distintas.sql USE zoologico; SELECT DISTINCT especie FROM mascotas;
• Consulta. – mysql -t -h localhost -u root -p < especiesdistintas.sql
INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”
Ing. Edgar A. Cruz Huaman
INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”
Ing. Edgar A. Cruz Huaman