You are on page 1of 17

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 2007-02-09
Skim Benito Serpiente m 2001-04-29

INSTITUTO SUPERIOR TECNOLÓGICO “SAN PEDRO” 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-08-
31" 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 < especies-
distintas.sql

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


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

You might also like