Sesion Nº 09 Trabajando Con Mysql En Modo Consola.

17
Sesión 09: Ing. Edgar A. Cruz Huaman INSTITUTO SUPERIOR TECNOLÓGICO INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” “SAN PEDRO” Trabajando con MySql en Modo Consola.

description

Sesion Nº 09 Trabajando Con Mysql En Modo Consola.

Transcript of Sesion Nº 09 Trabajando Con Mysql En Modo Consola.

Page 1: Sesion Nº 09   Trabajando Con Mysql En Modo Consola.

Sesión 09:

Ing. Edgar A. Cruz Huaman

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

Trabajando con MySql en Modo Consola.

Page 2: Sesion Nº 09   Trabajando Con Mysql En Modo Consola.

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

Presentación de Trabajo Práctico

• Librería Online en PHP.

Page 3: Sesion Nº 09   Trabajando Con Mysql En Modo Consola.

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. 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 2007-02-09

Skim Benito Serpiente m 2001-04-29

Page 4: Sesion Nº 09   Trabajando Con Mysql En Modo Consola.

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. 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-08-

31" WHERE nombre="Kaiser";

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

Page 5: Sesion Nº 09   Trabajando Con Mysql En Modo Consola.

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. 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”.

Page 6: Sesion Nº 09   Trabajando Con Mysql En Modo Consola.

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. 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”.

Page 7: Sesion Nº 09   Trabajando Con Mysql En Modo Consola.

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. 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.

Page 8: Sesion Nº 09   Trabajando Con Mysql En Modo Consola.

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. 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;

Page 9: Sesion Nº 09   Trabajando Con Mysql En Modo Consola.

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. 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%";

Page 10: Sesion Nº 09   Trabajando Con Mysql En Modo Consola.

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. 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;

Page 11: Sesion Nº 09   Trabajando Con Mysql En Modo Consola.

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. 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.

Page 12: Sesion Nº 09   Trabajando Con Mysql En Modo Consola.

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. 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));

Page 13: Sesion Nº 09   Trabajando Con Mysql En Modo Consola.

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. 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;

Page 14: Sesion Nº 09   Trabajando Con Mysql En Modo Consola.

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO”INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” Ing. Edgar A. Cruz HuamanIng. 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';

Page 15: Sesion Nº 09   Trabajando Con Mysql En Modo Consola.

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

• 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

XI. USANDO MYSQL EN MODO BATCH

Page 16: Sesion Nº 09   Trabajando Con Mysql En Modo Consola.

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

XII. USANDO MYSQL EN MODO BATCH (ii)

• Archivo: especies-distintas.sqlUSE zoologico;

SELECT DISTINCT especie FROM mascotas;

• Consulta.– mysql -t -h localhost -u root -p < especies-

distintas.sql

Page 17: Sesion Nº 09   Trabajando Con Mysql En Modo Consola.

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