Salta al contingut principal

Migrar tablas entre base de datos MySQL con PHP

Migrar tablas entre base de datos MySQL con PHP: Para pasar una tabla de una base de datos de MySQL a otra base de datos es muy sencillo con estos dos SQL:

Pasar la estructura de la tabla:

Código :


CREATE TABLE `bd_destino`.`nombre_tabla` LIKE `bd_fuente`.`nombre_tabla`

Pasar los datos de la tabla a la otra:

Código :


INSERT INTO `bd_destino`.`nombre_tabla` SELECT * FROM `bd_fuente`.`nombre_tabla`


Migración de Base de Datos MySQL con PHP





Conociendo estos sql, podemos automatizar la migración de una base de datos de forma muy sencilla con PHP. Aquí les dejo un script de ejemplo:

Código :


<?php

// Si la base de datos tiene muchos datos habilitar esto
// set_time_limit(0);


header('Content-type: text/plain');

$conexion = mysql_connect('localhost', 'root', '');

// De que base de datos vamos a tomar las tablas
$db_from = 'cristal_cristalab';
// A que base de datos vamos a migrar las tablas
$db_to = 'migrarbd';
// Con los datos o no
$data = true;


// Leemos todas las tablas de db_from
$sql = "SHOW TABLES FROM $db_from";

$result = mysql_query($sql);

$list_tables = array();
while ($row = mysql_fetch_assoc($result))
{
$list_tables[] = current($row);
}

// Migramos las estructuras de las tablas
foreach ($list_tables as $tbname)
{
$sql = "CREATE TABLE IF NOT EXISTS $db_to.$tbname LIKE $db_from.$tbname";
$result = mysql_query($sql);
if ($result)
{
echo "Migrada la estructura de la tabla $db_from.$tbname a $db_to.$tbname \n";
}

}

// Si data es true pasamos los datos de cada tabla vieja a la nueva
if ($data)
{
echo "Comienza la migracion de datos \n";
foreach ($list_tables as $tbname)
{
$sql = "INSERT INTO $db_to.$tbname SELECT * FROM $db_from.$tbname";
$result = mysql_query($sql);
if ($result)
{
echo "Migrados datos de la tabla $db_from.$tbname a $db_to.$tbname \n";
}
}
echo "Termina la migracion de datos \n";
}

?>


Advertencia


Existe la posibilidad de realizar la siguiente consulta

Código :


CREATE TABLE `bd_destino`.`nombre_tabla` SELECT * FROM `bd_fuente`.`nombre_tabla`

Crea una tabla con los campos y los datos pero nada más. Es decir, ignora los índices definidos y otros, por poner un ejemplo: las claves primarias NO se definen en la nueva tabla.


Espero les sirva, y si pueden compartirlo en otro lenguaje por ejemplo python (o simplemente quieren mejorar el script) la comunidad de cristalab se los agradecerá.

Enviar comentario



Comentaris

Entrades populars d'aquest blog

15 Tutoriales CSS3 para mejorar tus paginas web

15 Tutoriales CSS3 para mejorar tus paginas web : Les dejo una pequeña recopilación de tutoriales CSS3 que espero sean de utilidad para ustedes, intentamos hacer una recopilación bastante completa para crear impresionantes diseños web con CSS3 y aprovechar las bondades de CSS3 incluso para aplicar efectos, son un total de 15 tutoriales CSS3 gratis . Crear menu dropdown con CSS3 Crear breadcrumbs con estilo Transiciones de paginas con CSS3 Crear timeline con CSS3 y jQuery Reproductor de video con HTML5, CSS3 y jQuery Crear efecto acordion CSS3 Aplicar degradado a texto Crear texto en curva con CSS3 y jQuery Aplicar textura a texto con Magic Pill Crear slider de imagenes con CSS3 y jQuery Rotar texto con CSS3 Crear menu vertical con CSS3 Crear formulario con HTML5 y CSS3 Crear efecto de imagenes apiladas con CSS3 Aplicar estilos para imagenes con CSS3  

Averiguar la Salud del Disco Duro, con Crystal Disk Info [Windows]

Averiguar la Salud del Disco Duro, con Crystal Disk Info [Windows] : El actual “cuello de botella” en nuestras PCs; es decir, donde todo el rendimiento de nuestra PC llega a estancarse , es en el Disco Duro. Si bien los procesadores han evolucionado considerablemente en velocidad / rendimiento, el RAM no sólo es más económico, sino más veloz, y las tarjetas de video siguen innovando con cada generación, los discos duros han permanecido idénticos desde hace años, limitados por la física. Y es que un disco duro tradicional sólo tiene un máximo de velocidad con el que puede girar (medido en revoluciones por minuto, o RPM) que, a su vez, limita la velocidad de lectura y escritura. En pocas palabras, a pesar de que nuestras PCs pueden procesar información mucho más rápido que hace 5 años, los discos duros siguen leyendo (y escribiendo) esta información prácticamente a la misma velocidad. Esto ha cambiado con la llegada de los SSD, los Discos de Estado Sólo que no están limitados por la velo...

El meu editor de codi preferit el 2024, que això ja se sap que va canviant 😄

Visual Code Visual Code és un editor de codi font lleuger, però potent que s’executa al teu escriptori i està disponible per a Windows, macOS i Linux. Compta amb suport integrat per a JavaScript, TypeScript i Node.js i té un ric ecosistema d’extensions per a altres llenguatges i entorns d’execució (com C++, C#, Java, Python, PHP, Go, .NET).  És una eina ideal per a desenvolupar i depurar aplicacions web i en el núvol. Per què Visual Code? Visual Code té molts avantatges com a editor de codi font, com per exemple: És gratuït, ràpid i fàcil d’instal·lar i actualitzar. Té un ampli ecosistema d’extensions que et permeten afegir funcionalitats i personalitzar la teva experiència de desenvolupament. Té un suport integrat per a molts llenguatges i entorns d’execució, i et permet depurar i executar el teu codi des del mateix editor. Té una interfície senzilla i elegant, amb diferents temes i modes de visualització. Té un sistema de sincronització de configuracions que et permet guardar les...