programacion software linux cursos manuales tutoriales
 

Tutorial de MySQL

Noticias de >
bases de datos Codigo Fuente
 
Ir a pagina de incio y ver todos los manuales
Manual de mySQL

Usando más de una tabla

La tabla mascotas nos ha servido hasta este momento para tener guardados los datos acerca de los animalitos que tenemos. Si deseamos guardar algún otro tipo de información acerca de ellos, tal como los eventos en sus vidas -visitas al veterinario, nacimientos de una camada, etc-

necesitaremos de otra tabla. ¿Cómo deberá estar conformada esta tabla?. Lo que necesitamos es:

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.
Dadas estas condiciones, la sentencia para crear la tabla eventos queda de la siguiente manera:

mysql> CREATE TABLE eventos(nombre varchar(20), fecha date,
-> tipo varchar(15), descripcion varchar(255));
Query OK, 0 rows affected (0.03 sec)De manera similar a la tabla mascotas, es más fácil cargar los datos de los registros iniciales al crear un archivo de texto delimitado por tabuladores en el que se tenga la siguiente información: 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 casaCargamos los datos en este archivo con la siguiente sentencia:

mysql> LOAD DATA LOCAL INFILE "eventos.txt" INTO TABLE eventos;
Query OK, 7 rows affected (0.02 sec)
Records: 7 Deleted: 0 Skipped: 0 Warnings: 0Tomando en cuenta lo que hemos aprendido en la ejecución de consultas sobre la tabla mascotas, debemos de ser capaces de recuperar algunos datos de la tabla eventos; los principios son los mismos. Sin embargo puede suceder que la tabla eventos por sí misma sea insuficiente para darnos las respuestas que necesitamos.

Supongamos que desemos conocer la edad de cada mascota cuando tuvieron una camada. La tabla eventos indica cuando ocurrió dicho evento, pero para calcular la edad de la madre, necesitamos sin duda su fecha de nacimiento. Dado que este dato está almacenado en la tabla mascotas, necesitamos de ambas tablas para realizar esta consulta.

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';
+--------+------+---------------------------------+
| nombre | edad | descripcion |
+--------+------+---------------------------------+
| Fluffy | 2.28 | 4 gatitos, 3 hembras, 1 macho |
| Buffy | 2.12 | 5 perritos, 2 hembras, 3 machos |
| Buffy | 3.10 | 2 perritos, 1 hembra, 1 macho |
+--------+------+---------------------------------+
3 rows in set (0.05 sec)Hay diversas cosas que notar acerca de esta consulta:

La cláusula FROM lista dos tablas dado que la consulta necesita información que se encuentra en ambas tablas.
Cuando se combina (junta) información de múltiples tablas, es necesario especificar los registros de una tabla que pueden coincidir con los registros en la otra tabla. En nuestro caso, ambas columnas tienen una columna "nombre". La consulta usa la cláusula WHERE para obtener los registros cuyo valor en dicha columna es el mismo en ambas tablas.
Dado que la columna "nombre" ocurre en ambas tablas, debemos de especificar a cuál de las columnas nos referimos. Esto se hace al anteponer el nombre de la tabla al nombre de la columna.
Nota: La función TO_DAYS( ) regresa el número de días transcurridos desde el año 0 hasta la fecha dada.

No es necesario que se tengan dos tablas diferentes para que se puedan juntar. Algunas veces es útil juntar una tabla consigo misma si se desean comparar registros de la misma tabla. Por ejemplo, para encontrar las posibles parejas entre nuestras mascotas de acuerdo a la especie, la consulta sería la siguiente:

mysql> SELECT m1.nombre, m1.sexo, m2.nombre, m2.sexo, m1.especie
-> FROM mascotas AS m1, mascotas AS m2
-> WHERE m1.especie=m2.especie AND m1.sexo="f" AND m2.sexo="m";
+--------+------+--------+------+---------+
| nombre | sexo | nombre | sexo | especie |
+--------+------+--------+------+---------+
| Fluffy | f | Mau | m | Gato |
| Buffy | f | FanFan | m | Perro |
| Buffy | f | Kaiser | m | Perro |
+--------+------+--------+------+---------+
3 rows in set (0.00 sec)En esta consulta se ha especificado un alias para el nombre de la tabla, y es éste el que se utiliza para referirse a las columnas.

ir a capitulo anterior
software tecnologia programacion webmasters
Nube de Tags
Nuestra Red de agregadores de noticias tematicas
info mac ipod iphone
Mac- mundo mac iphone ipod novedades
noticias de moviles iphone nokia trucos
Moviles- actualidad del mundo de los moviles
salud
Salud- salud medicina dietas vida sana
noticias de coches f1 motos tuning motogp
Motor- noticias de coches F1 motoGP motos quads
cine teatro estrenos video
Ocio-Cine- estrenos de cine trailers noticias
juegos psp ps2 ps3 wii nintendo xbox xbox360
Juegos- psp ps2 ps3 wii pc xbox xbox360 sony
noticias de mujeres recetas thermomix
Mujer- noticias recetas moda thermomix belleza
tecnologia
Tech-y- gadchets actualidad de tecnologia
Deportes- todos los deportes agregados
energia eolica solar nuclear biomasa alternativas
Energia- eolica solar nuclear biomasa y mas...
noticias de ecologia
Ecologia- vive de forma ecologica y reciclando
energia solar eolica biomasa nuclear
Finanzas- ibex35 bolsa forex manuales fondos euribor
noticias de musica videos de musica
Musica - miles de videos de musica y noticias
Programacion- software programacion linux
viajes vuelos pueblos de españa Viajes - turismorama viajes y pueblos de españa..   Negocios- negocios y pymes, negocios online
       
viajes vuelos pueblos de espaņa
Recetas - 1001 recetas de cocina
 
Otros idiomas
salud Salute-(it) salute medicina diete salud Sante-(fr) sante medicina diet

 

BlogRoll


 
ver 50 mas votadas + Ver las 50 noticias mas leidas
ver 50 mas votadas + Ver las 50 noticias mas votadas
 
ver 50 mas votadas + Ver las 50 videos mas vistos

Links Recomendados

- pueblos de España

 
 
Documento sin título
Las mejores ofertas de la Red
Ofertas Tecnologia Ofertas de Vivienda
Ofertas Finanzas Ofertas de Motor
Ofertas Formacion Ofertas de Juegos
Ofertas de Ocio Ofertas de Salud
Ofertas de Viajes
Nuestros tutoriales
Tutorial de Visual Basic
Aprende Visual Basic desde 0
Tutorial de MySQL
primeros pasos en oracle

Tutorial de Oracle
primeros pasos en oracle
Tutorial de WAP
primeros pasos en WAP
Tutorial de photoshop
efectos con photoshop
Tutorial de php nuke
efectos con phpNuke
Tutorial de corva
efectos con corva
Tutorial de director
tutorial de director
Tutorial de dreamweaver
tutorial de dreamweaver
Tutorial de dreamweaverMX
tutorial de dreamweaver MX
Tutorial de flash
tutorial de flash
Tutorial de FlashMX
tutorial de flash MX
Tutorial de freehand
tutorial de freehand
Tutorial de frontpage
tutorial de frontpage
Tutorial de oracle
tutorial de oracle
Tutorial de php
tutorial de php
Tutorial de SQL
tutorial de SQL
Tutorial de Windows XP
tutorial de Windows XP
Tutorial de zope
tutorial de Zope
opera bajar opera descargar opera software opera Top Secciones de descargas
programas para bajar peliculas
programas para bajar musica
programas para bajar musica
programas de seguridad para tu pc
programas de seguridad para tu pc
programas google
programas para DJ - mezcladores
Tutoriales
Recomedamos: programatium I solorecursos I manuales I pueblos 2.0I info-salud I info-ocio I info-motor
noticias: Salud I Ocio/cine I Musica I Motor IDeportes IJuegos I Finanzas I Moviles I Energia I Ecologia I Tech-y I Mujer I MAC I Salud I