Entendido.

Este sitio utiliza cookies para analizar la navegación. Si continúa navegando se entiende que acepta su uso. Ver más detalles.";

Logo

Aprende Web

Crea y diseña tus sitios en la Web.

Manual de SQL

SQL es el lenguaje para trabajar con bases de datos en la web.


Y ahora tambien aprende a programar en C++ con Aprende Web C++

logo rss RSS. Suscribir canal.

Buscar en Aprende Web

Traducir página

Visita nuestro blog:

bolg.aprende-web.net

y entérate de las novedades o deja un comentario.

Dudas y sugerencias:

aprendeweb@aprende-web.net





Sobre ésta página

Ültima modificación: 29-01-2016.

Visitas este mes: 99

Visitas el mes pasado: 128

logo
WEB-GRAFÍA

Mi agradecimiento a las siguientes páginas Web. en las cuales me he basado para la elaboración de este manual:


Bases de datos
monografías.com
Curso MySQL
Curso MySQL de AulaFácil
MySQL con clase
conclase.net
Introducción a MySQL
ProgramacionWeb.net
Manual práctico de SQL
www.cepeu.edu.py
MySQL 5.0 Reference Manual
dev.mysql.com
SQL Tutorial
w3schools.com
Tutorial de SQL
desarrolloweb.com
Tutorial de SQL: Curso de SQL
sql.1keydata.com

Donativos

Si este sitio te parece interesante puedes contribuir con una pequeña aportación.




SQL (VIII)

Consultar tablas

Consultar columnas de una tabla.

imagen sql

Todas las consultas de datos que hagamos en una base comienzan por la palabra clave SELECT.

Lo mas sencillo es consultar los datos de las columnas de una tabla. Esto lo haremos mediante la siguiente sentencia:

SELECT columna1, columna2 FROM nombre_tabla

Donde "columna1, columna2" son los nombres de las columnas que queremos consultar y "nombre_tabla" es el nombre de la tabla.

Los nombres de las columnas los pondremos separados por comas, podemos poner una, varias o todas las columnas de la tabla.

El resultado será una serie de arrays que en PHP los obtendremos mediante el bucle while y la función mysql_fetch_array u otra similar.

Como ejemplo vamos a consultar la tabla "artistas" de la base "mi_musica" que llevamos haciendo como ejemplo, y en la cual hemos insertado en la página anterior una serie de datos. El código PHP / SQL de la consulta será parecido al siguiente:

$db=mysql_connect("localhost","root","");
mysql_select_db("mi_musica",$db);
$sql="SELECT artista, info_artista FROM artistas";
$datos=mysql_query($sql,$db);
mysql_close($db);
while ($row=mysql_fetch_assoc($datos)) {
    echo "<h5>";
    foreach ($row as $clave=>$valor) {
       echo "$clave = $valor ... ";
       }
    echo "</h5>";
    }

El resultado de la consulta nos dará los siguientes datos:


artista = Amaral ... info_artista = Duo formado por Eva Amaral y Juan Aguirre ...

artista = Dire Straits ... info_artista = Banda de rock británica fundada por Mark Knopfler en 1977 ...

artista = Mike Oldfield ... info_artista = Michael Gordon Oldfield, músico, compositor, multiinstrumentista y productor británico. ...


Consultar una tabla entera.

Vemos ahora cómo consultar todos los datos de una tabla. Podríamos hacerlo como en el apartado anterior, es decir, seleccionando todas las columnas de la tabla, pero es más fácil hacerlo con la siguiente sentencia:

SELECT * FROM nombre_tabla

Es decir sustituimos el nombre de las columnas por un asterisco (*). El asterisco es un comodín que nos permite seleccionar todas las columnas.

Por ejemplo, si queremos ver todos los datos de todas las columnas de la tabla "discos" de la base "mi_musica", simplemente sustituimos el código SQL del ejemplo PHP / SQL anterior (código en rojo) por este otro:

SELECT * FROM discos

El resultado nos dará la siguiente lista que contiene todos los registros de la tabla:


id_disco = 1 ... titulo = Pájaros en la cabeza ... ref_artista = 1 ... num_pistas = 14 ... info = Cuarto disco de este artista, año 2005 ...

id_disco = 2 ... titulo = Brothers in arms ... ref_artista = 2 ... num_pistas = 9 ... info = Quinto disco de la banda ...

id_disco = 3 ... titulo = Money for Nothng ... ref_artista = 2 ... num_pistas = 12 ... info = Primer disco recopilación de la banda tras sus 5 discos anteriores. ...

id_disco = 4 ... titulo = Tubular Bells ... ref_artista = 3 ... num_pistas = 2 ... info = Primer disco de estudio del compositor ...

id_disco = 5 ... titulo = Tr3s lunas ... ref_artista = 3 ... num_pistas = 14 ... info = instrumental, Año 2002 ...


Evitar valores duplicados

En una tabla puede haber columnas en las que haya valores que son igual en varios registros. A veces nos interesa mostrar estos valores sólo una vez.

SELECT DISTINCT columnaX FROM nombre_tabla

Supongamos que la "columnaX" contiene valores (datos) que son los mismos en varios registros, con esta sentencia los datos duplicados se verán sólo una vez.

Por ejemplo, en la tabla de discos, la referencia al artista (ref_artista) tiene el mismo valor en varios registros. La siguiente sentencia muestra los valores de "ref_artista" sin que se repitan:

SELECT DISTINCT ref_artista FROM discos

Y el resultado será lo veremos tal como sigue:


ref_artista = 1 ...

ref_artista = 2 ...

ref_artista = 3 ...


El ejemplo aquí es poco práctico, pero es el que teníamos a mano. Podemos suponer que que es más práctico si tenemos por ejemplo, una amplia lista de direcciones en una tabla, y queremos ver las provincias o regiones de las que proceden.

Consultar dos tablas similares

Si tenemos dos tablas similares, podemos consultarlas a la vez utilizando dos instrucciones SELECT separadas por el operador UNION

La sintaxis de la consulta es la siguiente:

SELECT columna1, columna2 FROM tabla1
     UNION
     SELECT columna1, columna2 FROM tabla2

En la consulta las dos tablas deben tener el mismo número de columnas, éstas deben tener un tipo de datos similares y estar en el mismo orden.

Por ejemplo podemos hacer una consulta en la que veamos el id (num. de identificación) y el nombre (artista o titulo) de las tablas "artistas" y "discos" de la base de datos "mi música. La sentencia SQL será la siguiente:

SELECT id_artistas, artista FROM artistas
     UNION
     SELECT id_disco, titulo FROM discos

El resultado de la consulta será lo siguiente:

id_artistas = 1 ... artista = Amaral ...

id_artistas = 2 ... artista = Dire Straits ...

id_artistas = 3 ... artista = Mike Oldfield ...

id_artistas = 1 ... artista = Pájaros en la cabeza ...

id_artistas = 2 ... artista = Brothers in arms ...

id_artistas = 3 ... artista = Money for Nothng ...

id_artistas = 4 ... artista = Tubular Bells ...

id_artistas = 5 ... artista = Tr3s lunas ...


El operador UNION elimina los registros duplicados, es decir si se encuentran, bien sea en la misma tabla, o en tablas difetentes, registros en la consulta que son iguales, sólo se selecciona uno.

Si queremos que se vean los registros duplicados, entonces en lugar de UNION utilizaremos UNION ALL. La forma de utilizar UNION ALL es exactamente igual que para UNION.






En la siguiente página veremos cómo buscar datos en las tablas.

Buscar datos



Manual de SQL

Anterior siguiente ... Siguiente siguiente


imprimir esta página

Página creada por ANYELGUTI.

Sugerencias: aprendeweb@aprende-web.net. Envia un manda un correo

Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog

Más sobre anyelguti en http://anyelguti.16mb.com