Ir al contenido principal

Trabajando con MySQL desde consola

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

Comentarios

Irving ha dicho que…
Que onda k1 pues aquí paso a comentar tu articulo se ve que esta muy bueno ya le daré una leída que mañana tengo una exposición xD.
Anónimo ha dicho que…
Si estan interesados en hacer intercambio de enlaces (tecnologia, informatica, relacionados)contactame en link.exchange.mariana@gmail.com

Entradas populares de este blog

Integrar API de Google Maps, archivos kml, kmz y otras fumarolas :D

Ya que andamos en eso de la posteada ahora les voy a dejar un pequeño manual sobre como integrar la API de maps (google) dentro de nuestro código, hay varia documentación en la página developers de google, pero realmente lo que uno busca cuando pone en google: "integrar api de maps" es ver un ejemplo claro y directo para que se pueda entender de mejor forma. Así que pues ya comentada la información de arriba les paso a dejar un ejemplo. Lo primero que tenemos que poner en nuestro código es la llamada a la API de maps: < script type = " text/javascript " src = " http://maps.googleapis.com/maps/api/js?sensor=false&language=es " > < / script > En este caso la variable sensor está en false, esto nos indica que no hay un dispositivo gps que pueda tomar la ubicación (se pone generalmente en true cuando es para aplicación movil, llámese celular o tableta) El lenguaje declaramos español, esto es para los menús que se van a most

Solución [fix] a hamachi Logging in .. failed, busy

Hola! Aquí con una pequeña entrada, pero que a más de uno le será útil. Tengo hamachi instalado en varias máquinas, pero en una precisamente al reiniciar, algunas veces me da este problema: usuarioserver@server:~$ sudo hamachi login [sudo] password for usuarioserver: Logging in .. failed, busy Lo busqué en internet y la "solución" que dan, es reinstalar hamachi, y para los que han instalado hamachi en ubuntu, saben que no es una opción, pues se tendrían que hacer estos pasos:  sudo apt-get remove logmein-hamachi sudo dpkg -i logmein-hamachixxx.deb sudo apt-get install -f Para lo cual (siempre) es molesto hacer esos pasos, y algunas veces la configuración se llega a perder.  Para solucionar ese problema, basta con hacer un:  sudo /etc/init.d/logmein-hamachi force-reload Esto forzará el reinicio de hamachi, y así después hacen:  sudo hamachi login Y listo, el problema de failed busy desaparece y los deja loguear bien en la red de hama

[Anotaciones] Importar DB MySQL con archivos frm/ibd

Primero, vamos a extraer las consultas para crear las tablas, lo podemos hacer con el siguiente comando> mysqlfrm --server=user:pass@localhost --port 3307 --diagnostic /ruta/de/los/archivos/data/nombredebase/*.frm Esto nos regresa todos los CREATE que tengamos para las tablas, guardar todo el resultado. Creamos la base de datos, con el mismo nombre que se tenía anteriormente. Ejecutamos la consulta que nos regresó el comando mysqlfrm, si nuestra versión de mysql es mayor a 5.6, es importante hacer este cambio:  ENGINE=InnoDB DEFAULT CHARSET=utf8; por  ENGINE=InnoDB ROW_FORMAT=compact CHARSET=utf8; Es decir, se remplaza DEFAULT por ROW_FORMAT=compact, realmente no se por qué, pero me llevó como una hora dar con el error, espero quien lea esto le sea más facil. Una vez que tengamos las tablas creadas, ejecutamos lo siguiente: ALTER TABLE nombredetabla1 DISCARD TABLESPACE; ALTER TABLE nombredetabla2 DISCARD TABLESPACE; ALTER TABLE nombredetabla3 DISCARD TABLESPAC