Un poco de consultas sql con mysql :P
Bueno pongamos un tema acerca de consultas sql :P ahorita que las he estado practicando mas, algo basico pero psss weno para los que no sepan mucho aqui se pueden orientar un poco :P
los primeros pasos que sabemos (o al menos creo deberian saber :P) es conectarse a mysql de esta forma:
mysql -u suusuario -p
les pedira su pass y de ahi lo ingresan
despues si quieren que muestre las bases que tengan hacen esto:
show databases;
les mostrara las bases de datos que tengan ahi seleccionen con la que quieren trabajar:
use nombredesubasededatos
si quieren ver las tablas hacen esto:
show tables;
de ahi comenzamos la explicacion:
supongamos que tengo una base de datos llamada equis
primero nos situamos en la base de datos:
use equis
y en ella hay varias tablas pongamos que llamdas a,be,ce,de,e,efe y ge, dentro de ellas hay varios campos, supongamos que son por cada una respectivamente:
a1,a2,a3,a4,a5link,a6region
be1,be2,be3link,be4,be5,be6
ce1,ce2,ce3,ce4map,ce5,ce6
de1,de2,de3,de4,de5uno,de6,
e1,e2,e3,e4region,e5,e6
efe1,efe2,efe3,efe4uno,efe5,efe6
ge1,ge2,ge3map,ge4,ge5,ge6
cada campo se nota a que tabla va ligada asi no tengo que explicar eso :P
dentro de ellas queremos linkear varios campos y seleccionarlos para que se guarden en un archivo, pongamos un archivo de texto para que lo exporte en formato plano, en esta parte me refiero a una salida de este tipo:
mysql> select * from categories;
+-------+--------+-------------+----------+----------+-------------+----------------+--------+
| catid | name | description | keywords | catorder | permissions | parentcategory | status |
+-------+--------+-------------+----------+----------+-------------+----------------+--------+
| 1 | Arcade | Arcade | Arcade | 0 | 1 | 0 | 1 |
+-------+--------+-------------+----------+----------+-------------+----------------+--------+
creamos nuestro archivo de texto donde se guardaran todas las consltas ejecutadas:
tee nombrearchivo.txt
ok ahora vamos a la parte interesante, nuestra consulta :P
Supongamos que queremos tomar el campo a1,a2,a3,be1,be4,be6,ce1,ce3 y ce5 y los cuales los tenemos que comprobar, cuando se cumpla una condicion lo tome si no no, esto es decir, usemos estas comprobaciones:
donde a5link sea igual a b3link
a6region sea igual a e4region
ce4map sea igual a ge3map
de5uno sea igual a efe4uno
hagamos la consulta:
select a.a1,a.a2,a.a3,b.be1,b.be4,b.b6,c.ce1,c.ce3,c.ce5
from a a,be b,ce c,de d,e e,efe f,ge g
where
a.a5link = b.b33link and
a.a6region = e.e4region and
c.ce4map = g.ge3map and
d.de5uno = f.efe4uno;
ahora expliquemos la consulta :P
en el SELECT tomamos los campos que requerimos, ponemos tabla.campo
en el FROM definimos las tablas, las definimos de esta manera:
tabla nombrecorto
en estos casos:
a es a, be es b, etc....
al ultimo hacemos las comprobaciones necesarias para los campos en donde decimos que si se cumple una condicion entonces tomara los valores y mostrara los campos
el final nuestro archivo estara en c:\nombredearchivo.txt // (en lindows)
y todas las consultas que hayamos puesto estaran dentro, junto con su resultado :P
weno esto es todo el tuto, es corto y las comprobaciones puede que no "cuadren" en este ejemplo ya que solo fueron inventadas, pero si uds tienen una tabla con id's entonces esta seria la forma de que lo pueden manejar y concatenar (no se si este bine dicho concatenar :P ) pero en si est es el funcionamiento y como pueden tomar y acomodar las tablas ^^
espero este entendido y si no pues pongan sus comentarios en lo que tengan dudas o para mejorarlo :P
PD recuerden que con tablas pequeñas las consultas tardaran muy poco, y con tablas grandes, pues obvio el tiempo aumenta, pero no desesperen su mysql esta trabajando :P
Saludos!
Komtec1
Bueno pongamos un tema acerca de consultas sql :P ahorita que las he estado practicando mas, algo basico pero psss weno para los que no sepan mucho aqui se pueden orientar un poco :P
los primeros pasos que sabemos (o al menos creo deberian saber :P) es conectarse a mysql de esta forma:
mysql -u suusuario -p
les pedira su pass y de ahi lo ingresan
despues si quieren que muestre las bases que tengan hacen esto:
show databases;
les mostrara las bases de datos que tengan ahi seleccionen con la que quieren trabajar:
use nombredesubasededatos
si quieren ver las tablas hacen esto:
show tables;
de ahi comenzamos la explicacion:
supongamos que tengo una base de datos llamada equis
primero nos situamos en la base de datos:
use equis
y en ella hay varias tablas pongamos que llamdas a,be,ce,de,e,efe y ge, dentro de ellas hay varios campos, supongamos que son por cada una respectivamente:
a1,a2,a3,a4,a5link,a6region
be1,be2,be3link,be4,be5,be6
ce1,ce2,ce3,ce4map,ce5,ce6
de1,de2,de3,de4,de5uno,de6,
e1,e2,e3,e4region,e5,e6
efe1,efe2,efe3,efe4uno,efe5,efe6
ge1,ge2,ge3map,ge4,ge5,ge6
cada campo se nota a que tabla va ligada asi no tengo que explicar eso :P
dentro de ellas queremos linkear varios campos y seleccionarlos para que se guarden en un archivo, pongamos un archivo de texto para que lo exporte en formato plano, en esta parte me refiero a una salida de este tipo:
mysql> select * from categories;
+-------+--------+-------------+----------+----------+-------------+----------------+--------+
| catid | name | description | keywords | catorder | permissions | parentcategory | status |
+-------+--------+-------------+----------+----------+-------------+----------------+--------+
| 1 | Arcade | Arcade | Arcade | 0 | 1 | 0 | 1 |
+-------+--------+-------------+----------+----------+-------------+----------------+--------+
creamos nuestro archivo de texto donde se guardaran todas las consltas ejecutadas:
tee nombrearchivo.txt
ok ahora vamos a la parte interesante, nuestra consulta :P
Supongamos que queremos tomar el campo a1,a2,a3,be1,be4,be6,ce1,ce3 y ce5 y los cuales los tenemos que comprobar, cuando se cumpla una condicion lo tome si no no, esto es decir, usemos estas comprobaciones:
donde a5link sea igual a b3link
a6region sea igual a e4region
ce4map sea igual a ge3map
de5uno sea igual a efe4uno
hagamos la consulta:
select a.a1,a.a2,a.a3,b.be1,b.be4,b.b6,c.ce1,c.ce3,c.ce5
from a a,be b,ce c,de d,e e,efe f,ge g
where
a.a5link = b.b33link and
a.a6region = e.e4region and
c.ce4map = g.ge3map and
d.de5uno = f.efe4uno;
ahora expliquemos la consulta :P
en el SELECT tomamos los campos que requerimos, ponemos tabla.campo
en el FROM definimos las tablas, las definimos de esta manera:
tabla nombrecorto
en estos casos:
a es a, be es b, etc....
al ultimo hacemos las comprobaciones necesarias para los campos en donde decimos que si se cumple una condicion entonces tomara los valores y mostrara los campos
el final nuestro archivo estara en c:\nombredearchivo.txt // (en lindows)
y todas las consultas que hayamos puesto estaran dentro, junto con su resultado :P
weno esto es todo el tuto, es corto y las comprobaciones puede que no "cuadren" en este ejemplo ya que solo fueron inventadas, pero si uds tienen una tabla con id's entonces esta seria la forma de que lo pueden manejar y concatenar (no se si este bine dicho concatenar :P ) pero en si est es el funcionamiento y como pueden tomar y acomodar las tablas ^^
espero este entendido y si no pues pongan sus comentarios en lo que tengan dudas o para mejorarlo :P
PD recuerden que con tablas pequeñas las consultas tardaran muy poco, y con tablas grandes, pues obvio el tiempo aumenta, pero no desesperen su mysql esta trabajando :P
Saludos!
Komtec1
Comentarios