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

copiar tablas de una BD a otra

Estas en el tema de copiar tablas de una BD a otra en el foro de Mysql en Foros del Web. Hola necesito copiar una tabla de una base de datos a otra distinta. Estoy intentando sacar una copia y luego instalarla en la segunda BD ...
  #1 (permalink)  
Antiguo 12/07/2012, 01:09
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
copiar tablas de una BD a otra

Hola necesito copiar una tabla de una base de datos a otra distinta.

Estoy intentando sacar una copia y luego instalarla en la segunda BD pero no me deja ya que son aproximadamente 300.000 filas.

En la BD original hay muchas filas que sobran que están determinadas por una serie de lang (idiomas) de los que hay aproximadamente 5 y únicamente hacen falta 2.

No se si una solución sería crear una tabla en la BD original, intentar mediante fórmula pasar la tabla con los registros de los dos idiomas que necesito, exportarla y luego ponerla en la segunda BD, aunque se trata de información de productos que llegan formato encuadrado en tablas de dos columnas y no se si después tendré problemas de formatos, pero supongo que a priori es lo más sencillo y es lo creo mejor.

A ver si alguien me puede decir la fórmula a aplicar que diga:

de la tabla ps_product_lang cojer los registros de las filas que tengan las ids 1 y 3 y copiarlas a la tabla ps_nueva_tabla

Gracias.
  #2 (permalink)  
Antiguo 12/07/2012, 01:52
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: copiar tablas de una BD a otra

Si las bbdd estan en el mismo servidor digamos que tenemos

bbdd1-> la original
bbdd2-> la otra

En bbdd1

SHOW CREATE TABLE ps_product_lang

copias el resultado

En bbdd2

pegas el resultado

CREATE ps_product_lang....

se habra creado la tabla nueva

INSERT INTO bbdd2.ps_product_lang SELECT * FROM bbdd1.ps_product_lang bd1 WHERE bd1.lang=1 OR bd1.lang=3

si no puedes trabajar con las dos a la vez luego

Creas la tabla nueva y usas el insert

INSERT INTO ps_product_lang_nueva SELECT * FROM ps_product_lang vieja WHERE vieja.lang=1 OR vieja.lang=3
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 13/07/2012, 02:14
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: copiar tablas de una BD a otra

hola, gracias por contestar

El problema es que no están en la misma base de datos y aunque sí alojadas en el mismo servidor no aparecen juntas en el desplegable, son bases de datos que no están comunicadas por lo que creo que lo más sencillo sería crear una nueva tabla con los datos necesarios, exportarla en .csv y luego importarla en la bd nueva, como es una BD muy grande con aproximadamente 300.000 filas no se puede exportar directamente.

intento comprender lo que me has puesto pero se me hace bastante difícil.

debería saber como:

-1º

crear una nueva tabla en la BD

-2º
pasar de la tabla original los datos filtrados que necesito a la tabla nueva (evidente que en la tabla nueva pondría las mimas columnas que en la original)

hay unos 5 idiomas ya que es una página web que los genera en el lang automáticamente pero que que en la nueva base de datos ya no irán por lo que no los necesito

esos idiomas están en la columna id_lang de la tabla PS_product_lang, y los datos de las filas que quiero salvar son las que tengan las ids 1 y la id3

De todas formas voy a seguir intentando aclararme con la respuesta anterior.

Gracias.
  #4 (permalink)  
Antiguo 13/07/2012, 02:56
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: copiar tablas de una BD a otra

Cita:
...unque sí alojadas en el mismo servidor no aparecen juntas en el desplegable...
Con que estas trabajando?

SHOW CREATE TABLE ps_product_lang;

Si ejecutas esto te da la sentencia de creacion de la tabla... solo tienes que ejecutarla en la otra base de datos.

si estan en el mismo servidor

INSERT INTO bbdd2.ps_product_lang SELECT * FROM bbdd1.ps_product_lang bd1 WHERE bd1.id_lang=1 OR bd1.id_lang=3;

Esto copia los datos de la tabla original a la nueva en la otra base de datos... solo tienes que cambiar bbdd2 y bbdd1 por los nombres reales de las bases de datos...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #5 (permalink)  
Antiguo 13/07/2012, 03:19
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: copiar tablas de una BD a otra

hola, es prestashop, el mysql 5.1.57
  #6 (permalink)  
Antiguo 13/07/2012, 03:47
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: copiar tablas de una BD a otra

la sentencia que me da es esta:

CREATE TABLE `ps_product_lang` (
`id_product` in...

Me pierdo ya que me da la misma en las dos bases de datos, la nueva y la vieja
  #7 (permalink)  
Antiguo 13/07/2012, 03:54
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: copiar tablas de una BD a otra

he modificado en opciones a texto completo, ahí está la sentencia completa y se ha creado correctamente, voy a intentar pasarla exportando a .csv e importando a ver....

Última edición por Mario058167; 13/07/2012 a las 04:32
  #8 (permalink)  
Antiguo 13/07/2012, 05:14
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: copiar tablas de una BD a otra

Intenta esto en la base de datos nueva

INSERT INTO bbdd2.ps_product_lang SELECT * FROM bbdd1.ps_product_lang bd1 WHERE bd1.id_lang=1 OR bd1.id_lang=3;

Cambiando bbdd2 por el nombre la base de datos de destino y bbdd1 por el de origen....obviamente el usuario que estes usando debe tener permisos sobre las dos bbdd.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #9 (permalink)  
Antiguo 13/07/2012, 05:41
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: copiar tablas de una BD a otra

Hecho,

Gracias

Etiquetas: bd, registros, tabla, tablas
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:16.