Hosting de Calidad
  • Inicio
  • Precios y servicios
  • F.a.q y ayudas
  • Realizar pedido
  • Webs alojadas
  • Quienes somos
  • Foro HyD
  • Contacto

    Zona Dominios

    Entrar
    registro de dominios


    Zona Hosting

    Entrar
    alojamiento web


    5 Métodos de Pago
    Tarjeta de crédito
    Domiciliación
    Transferencia
    Soporte Epagado
    Soporte Paypal

    Liberalización .es

    Ver mas
    dominios .es


  •  
     
     
    Documentacion - Manuales (Dominios - Hosting) - Mysql - Recuperando información de una tabla
    Ir a página de inicio del tutorial de mysql
    Manual de mysql
    Autor : Mysqlhispano

    Recuperando información de una tabla
    Seleccionando todos los datos
    Seleccionando registros particulares
    Seleccionando columnas particulares

    Recuperando información de una tabla

    La sentencia SELECT es usada para obtener la información guardada en una tabla. La forma general de esta sentencia es:

    SELECT LaInformaciónQueDeseamos FROM DeQueTabla WHERE CondiciónASatisfacerAquí, LaInformaciónQueDeseamos es la información que queremos ver. Esta puede ser una lista de columnas, o un * para indicar "todas las columnas". DeQueTabla indica el nombre de la tabla de la cual vamos a obtener los datos. La claúsula WHERE es opcional. Si está presente, la CondiciónASatisfacer especifica las condiciones que los registros deben satisfacer para que puedan ser mostrados.

    Seleccionando todos los datos

    La manera más simple de la sentencia SELECT es cuando se recuperan todos los datos de una tabla:

    mysql> SELECT * FROM mascotas;
    +--------+-------------+-----------+------+------------+---------------+
    | nombre | propietario | especie | sexo | nacimiento | fallecimiento |
    +--------+-------------+-----------+------+------------+---------------+
    | Fluffy | Arnoldo | Gato | f | 1999-02-04 | NULL |
    | Mau | Juan | Gato | m | 1998-03-17 | NULL |
    | Buffy | Arnoldo | Perro | f | 1999-05-13 | NULL |
    | FanFan | Benito | Perro | m | 2000-08-27 | NULL |
    | Kaiser | Diana | Perro | m | 1998-08-31 | 1997-07-29 |
    | Chispa | Omar | Ave | f | 1998-09-11 | NULL |
    | Wicho | Tomás | Ave | NULL | 2000-02-09 | NULL |
    | Skim | Benito | Serpiente | m | 2001-04-29 | NULL |
    | Pelusa | Diana | Hamster | f | 2000-03-30 | NULL |
    +--------+-------------+-----------+------+------------+---------------+
    9 rows in set (0.00 sec)Esta forma del SELECT es útil si deseamos ver los datos completos de la tabla, por ejemplo, para asegurarnos de que están todos los registros después de la carga de un archivo.

    Por ejemplo, en este caso que estamos tratando, al consultar los registros de la tabla, nos damos cuenta de que hay un error en el archivo de datos (mascotas.txt): parece que Kaiser ha nacido después de que ha fallecido!. Al revisar un poco el pedigree de Kaiser encontramos que la fecha correcta de nacimiento es el año 1989, no 1998.

    Hay por lo menos un par de maneras de solucionar este problema:

    Editar el archivo "mascotas.txt" para corregir el error, eliminar los datos de la tabla mascotas con la sentencia DELETE, y cargar los datos nuevamente con el comando LOAD DATA:

    mysql> DELETE FROM mascotas;
    mysql> LOAD DATA LOCAL INFILE "mascotas.txt" INTO TABLE mascotas;Sin embargo, si hacemos esto, debemos ingresar los datos de Pelusa, la mascota de nuestra hermana Diana.

    La segunda opción consiste en corregir sólo el registro erróneo con una sentencia UPDATE:

    mysql> UPDATE mascotas SET nacimiento="1989-08-31" WHERE nombre="Kaiser";Como se mostró anteriormente, es muy fácil recuperar los datos de una tabla completa. Pero típicamente no deseamos hacer esto, particularmente cuando las tablas son demasiado grandes. En vez de ello, estaremos más interesados en responder preguntas particulares, en cuyo caso debemos especificar algunas restricciones para la información que deseamos ver.

    Seleccionando registros particulares

    Podemos seleccionar sólo registros particulares de una tabla. Por ejemplo, si deseamos verificar el cambio que hicimos a la fecha de nacimiento de Kaiser, seleccionamos sólo el registro de Kaiser de la siguiente manera:

    mysql> SELECT * FROM mascotas WHERE nombre="Kaiser";
    +--------+-------------+---------+------+------------+--------------+
    | nombre | propietario | especie | sexo | nacimiento | fallecimento |
    +--------+-------------+---------+------+------------+--------------+
    | Kaiser | Diana | Perro | m | 1989-08-31 | 1997-07-29 |
    +--------+-------------+---------+------+------------+--------------+
    1 row in set (0.00 sec)La salida mostrada confirma que el año ha sido corregido de 1998 a 1989.

    La comparación de cadenas es normalmente no sensitiva, así que podemos especificar el nombre como "kaiser", "KAISER", etc. El resultado de la consulta será el mismo.

    Podemos además especificar condiciones sobre cualquier columna, no sólo el "nombre". Por ejemplo, si deseamos conocer qué mascotas nacieron después del 2000, tendríamos que usar la columna "nacimiento":

    mysql> SELECT * FROM mascotas WHERE nacimiento >= "2000-1-1";
    +--------+-------------+-----------+------+------------+---------------+
    | nombre | propietario | especie | sexo | nacimiento | fallecimiento |
    +--------+-------------+-----------+------+------------+---------------+
    | FanFan | Benito | Perro | m | 2000-08-27 | NULL |
    | Wicho | Tomás | Ave | NULL | 2000-02-09 | NULL |
    | Skim | Benito | Serpiente | m | 2001-04-29 | NULL |
    | Pelusa | Diana | Hamster | f | 2000-03-30 | NULL |
    +--------+-------------+-----------+------+------------+---------------+
    4 rows in set (0.00 sec)Podemos también combinar condiciones, por ejemplo, para localizar a los perros hembras:

    mysql> SELECT * FROM mascotas WHERE especie="Perro" AND sexo="f";
    +--------+-------------+---------+------+------------+---------------+
    | nombre | propietario | especie | sexo | nacimiento | fallecimiento |
    +--------+-------------+---------+------+------------+---------------+
    | Buffy | Arnoldo | Perro | f | 1999-05-13 | NULL |
    +--------+-------------+---------+------+------------+---------------+
    1 row in set (0.00 sec)La consulta anterior usa el operador lógico AND. Hay también un operador lógico OR:

    mysql> SELECT * FROM mascotas WHERE especie = "Ave" OR especie = "Gato";
    +--------+-------------+---------+------+------------+---------------+
    | nombre | propietario | especie | sexo | nacimiento | fallecimiento |
    +--------+-------------+---------+------+------------+---------------+
    | Fluffy | Arnoldo | Gato | f | 1999-02-04 | NULL |
    | Mau | Juan | Gato | m | 1998-03-17 | NULL |
    | Chispa | Omar | Ave | f | 1998-09-11 | NULL |
    | Wicho | Tomás | Ave | NULL | 2000-02-09 | NULL |
    +--------+-------------+---------+------+------------+---------------+
    4 rows in set (0.00 sec)El operador AND y el operador OR pueden ser intercambiados. Si hacemos esto, es buena idea usar paréntesis para indicar como deben ser agrupadas las condiciones:

    mysql> SELECT * FROM mascotas WHERE (especie = "Gato" AND sexo = "m")
    -> OR (especie = "Perro" AND sexo = "f");
    +--------+-------------+---------+------+------------+---------------+
    | nombre | propietario | especie | sexo | nacimiento | fallecimiento |
    +--------+-------------+---------+------+------------+---------------+
    | Mau | Juan | Gato | m | 1998-03-17 | NULL |
    | Buffy | Arnoldo | Perro | f | 1999-05-13 | NULL |
    +--------+-------------+---------+------+------------+---------------+
    2 rows in set (0.00 sec)Seleccionando columnas particulares

    Si no deseamos ver los registros completos de una tabla, entonces tenemos que usar los nombres de las columnas en las que estamos interesados separándolas por coma. Por ejemplo, si deseamos conocer la fecha de nacimiento de nuestras mascotas, debemos seleccionar la columna "nombre" y "nacimiento":

    mysql> SELECT nombre, nacimiento FROM mascotas;
    +--------+------------+
    | nombre | nacimiento |
    +--------+------------+
    | Fluffy | 1999-02-04 |
    | Mau | 1998-03-17 |
    | Buffy | 1999-05-13 |
    | FanFan | 2000-08-27 |
    | Kaiser | 1989-08-31 |
    | Chispa | 1998-09-11 |
    | Wicho | 2000-02-09 |
    | Skim | 2001-04-29 |
    | Pelusa | 2000-03-30 |
    +--------+------------+
    9 rows in set (0.00 sec)Para conocer quién tiene alguna mascota, usaremos la siguiente consulta:

    mysql> SELECT propietario FROM mascotas;
    +-------------+
    | propietario |
    +-------------+
    | Arnoldo |
    | Juan |
    | Arnoldo |
    | Benito |
    | Diana |
    | Omar |
    | Tomás |
    | Benito |
    | Diana |
    +-------------+
    9 rows in set (0.00 sec)Sin embargo, debemos notar que la consulta recupera el nombre del propietario de cada mascota, y algunos de ellos aparecen más de una vez. Para minimizar la salida, agregaremos la palabra clave DISTINCT:

    mysql> SELECT DISTINCT propietario FROM mascotas;
    +-------------+
    | propietario |
    +-------------+
    | Arnoldo |
    | Juan |
    | Benito |
    | Diana |
    | Omar |
    | Tomás |
    +-------------+
    6 rows in set (0.03 sec)Se puede usar también una claúsula WHERE para combinar selección de filas con selección de columnas. Por ejemplo, para obtener la fecha de nacimiento de los perritos y los gatitos, usaremos la siguiente consulta:

    mysql> SELECT nombre, especie, nacimiento FROM mascotas
    -> WHERE especie = "perro" OR especie = "gato";
    +--------+---------+------------+
    | nombre | especie | nacimiento |
    +--------+---------+------------+
    | Fluffy | Gato | 1999-02-04 |
    | Mau | Gato | 1998-03-17 |
    | Buffy | Perro | 1999-05-13 |
    | FanFan | Perro | 2000-08-27 |
    | Kaiser | Perro | 1989-08-31 |
    +--------+---------+------------+
    5 rows in set (0.00 sec)


    ir a capitulo anterior

     
       



    registro de dominios | alojamiento web | hosting por publicidad

       

     

    Manual de linux Manual de apache Manual de php Manual de mysql Manual de SQL Manual del Plesk Como funciona Paypal Manual de html