Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Enlazar Bases de Datos

Estas en el tema de Enlazar Bases de Datos en el foro de Mysql en Foros del Web. Esto es lo que me ha dicho el hosting que tengo que hacer: Las bases de datos son independientes, por lo que si cambia la ...
  #1 (permalink)  
Antiguo 14/01/2008, 17:34
 
Fecha de Ingreso: enero-2008
Mensajes: 48
Antigüedad: 16 años, 3 meses
Puntos: 0
Enlazar Bases de Datos

Esto es lo que me ha dicho el hosting que tengo que hacer:

Las bases de datos son independientes, por lo que si cambia la base de datos asociada a su foro, le mostrará el contenido alojado en la base dedatos asociada al mismo. Si desea mostrar el contenido de las distintasbases de datos deberá enlazarlas mediante programación.

Alguien me podría decir como hacerlo sin perder la información que contiene ya el foro ?

Tengo 5 bases de datos de MySQL de 100mb cada una.

Saludos y muchas gracias.
  #2 (permalink)  
Antiguo 15/01/2008, 05:58
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Re: Enlazar Bases de Datos

En esencia, si vas a programar en PHP, .NET o lo que fuese, significa que deberás manipular el código para crear diferentes objetos de conexiones para cada una de las bases que quieres abrir, y crear una gran parte de las consultas en la misma aplicación, mediante la combinación de los resultados obtenidos en cada base.
Por otro lado, si el motor es uno solo (MySQL), simplemente debe indicarse la lectura de las tablas ubicando la dirección correcta, según el estándar:
Código:
 SELECT * FROM NOMBREBASE.NOMBRETABLA;
Programar así es un poco hartante, por lo que debes usar ALIAS para evitar confusiones y errores de codificación.
  #3 (permalink)  
Antiguo 15/01/2008, 07:21
 
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 32
Antigüedad: 16 años, 3 meses
Puntos: 1
Re: Enlazar Bases de Datos

Si, esa característica de MySQL es muy útil, peeeeero, sólo lo puedes hacer si las bases de datos están en el mismo servidor.
  #4 (permalink)  
Antiguo 15/01/2008, 08:12
 
Fecha de Ingreso: enero-2008
Mensajes: 48
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Enlazar Bases de Datos

Me gustaría que me lo explicarais un poco mejor, las bases de datos y todo, lo tengo contratado en el hosting 1and1. Soy nuevo en esto y me gustaría aprender a hacerlo. Agradezco que me digais si me tengo que bajar algún programa, o desde el mismo panel lo puedo hacer.

Saludos :)

Edito: Si entro en la bs mediante MyPhpAdmin, a la iqzuierda me aparece una lista de "categorias?" como esta:

Examinar: (1 Filas) smf_ads
Examinar: (0 Filas) smf_ads_settings
Examinar: (25 Filas) smf_attachments
Examinar: (1 Filas) smf_ban_groups
Examinar: (4 Filas) smf_ban_items
Examinar: (75 Filas) smf_boards

Si le doy encima ponen eso de SELECT * FROM y con este modelo:

SELECT * FROM `smf_moderators` WHERE 1

Espero que os sirva para poder ayudarme ^^

Saludos !

Última edición por Maxios; 15/01/2008 a las 08:45
  #5 (permalink)  
Antiguo 15/01/2008, 14:05
 
Fecha de Ingreso: enero-2008
Mensajes: 48
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Enlazar Bases de Datos

Porfavor me urge a ver si alguien me explica :S
  #6 (permalink)  
Antiguo 16/01/2008, 00:02
 
Fecha de Ingreso: enero-2008
Mensajes: 197
Antigüedad: 16 años, 3 meses
Puntos: 10
Re: Enlazar Bases de Datos

Hola Maxios, por lo que entiendo tienes 5 bases de datos lo más importante para enlazarlas es que estén en el mismo servidor ya que si están en diferentes servidores va a ser difícil que las puedas enlazar porque generalmente los servidores web comerciales no dan acceso a las bases de datos desde otros hosts que no sean los locales. Pero si están en el mismo servidor es fácil mediante el ejemplo que pone

gnzsoloyo:
SELECT * FROM NOMBREBASE.NOMBRETABLA;

Ten en mente también que el usuario por el que te conectas debe tener privilegios sobre cada una de las bases.

Saludos!
  #7 (permalink)  
Antiguo 16/01/2008, 00:04
 
Fecha de Ingreso: enero-2008
Mensajes: 197
Antigüedad: 16 años, 3 meses
Puntos: 10
Re: Enlazar Bases de Datos

Puedes echarle un ojo a:

http://www.emagister.com/tutorial/tu...matica-555.htm

Última edición por hualro; 16/01/2008 a las 00:11
  #8 (permalink)  
Antiguo 16/01/2008, 09:18
 
Fecha de Ingreso: enero-2008
Mensajes: 48
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Enlazar Bases de Datos

Bueno, he creado la nueva base de datos de 100mb y ya tengo acceso a ella mediante myphpadmin y eso, supongo que la tendré que enlazar por ahí no ? Lo de:

SELECT * FROM NOMBREBASE.NOMBRETABLA;

Dónde tendría que pones eso ? Esque en estos temas ando más que perdido :S Nombre de la base de datos, lo tengo, y en nombre de tabla qué tendría que poner ?

Aquí os dejo dos pantallazos del panel de la base de datos vacía que quiero enlazar, a ver si me echais un cable :)

http://img135.imageshack.us/img135/9136/bdbp0.png

http://img225.imageshack.us/img225/5381/bd2yb0.png

Saludos !
  #9 (permalink)  
Antiguo 16/01/2008, 15:48
 
Fecha de Ingreso: enero-2008
Mensajes: 48
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Enlazar Bases de Datos

Me urge porfavor, agradezco muchísimo cualquier tipo de ayuda, no se donde tocar ni donde tengo que poner SELECT * FROM NOMBREBASE.NOMBRETABLA; :S

Saludos y gracias
  #10 (permalink)  
Antiguo 17/01/2008, 08:31
 
Fecha de Ingreso: enero-2008
Mensajes: 48
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Enlazar Bases de Datos

Nadie ? :(
  #11 (permalink)  
Antiguo 19/01/2008, 07:40
 
Fecha de Ingreso: enero-2008
Mensajes: 48
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Enlazar Bases de Datos

Vamos alguien tiene que saberlo.. :S
  #12 (permalink)  
Antiguo 19/01/2008, 10:27
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Re: Enlazar Bases de Datos

Por el código:
Código:
SELECT * FROM NOMBREBASE.NOMBRETABLA;
me refiero a que ese es el modelo a respetar en TODAS las consultas que creas. Esto es, supongamos una consulta que pretende enlazar mediante un INNER JOIN datos de tablas en 5 bases distintas:
Cita:
SELECT base1.campo1, base2.campo2, base3.campo3, base4.campo4, base5.campo5 FROM base1.tabla1 INNER JOIN base2.tabla1 using (campo1) INNER JOIN base3.tabla1 USING (campo2), INNER JOIN base4.tabla1 USING (campo3) INNER JOIN base5.tabla1 USING(campo4);
Aclaro que nunca uso tantos INNER JOIN encadenados si puedo evitarlo, por lo que puede haber un error en la sintaxis, pero de todos modos representa la idea.
Asimismo, si quisieras hacer una subconsulta dentro de otra entre dos bases el resultado sería:
Cita:
SELECT A, B, T1.C FROM BASE1.TABLA1 JOIN (SELECT C FROM BASE2.TABLA3) AS T1 USING (C);
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 05:54.