Quiero copiar la tabla contenida en una base de datos e insertarla en otra tabla de la base de datos
96
Quiero copiar el esquema de una tabla, así como los datos dentro de esa tabla, a otra tabla de base de datos en otra base de datos en un servidor en vivo. ¿Cómo podría hacer esto?
use dos conexiones de base de datos y lea la estructura de la tabla de una y ejecute esa consulta en la otra
Dau
¿Están estas bases de datos en instancias mysql separadas o en la misma? Se pueden configurar diferentes instancias con replicación si este es un proceso continuo.
Nick
@Nick mis bases de datos están en diferentes instancias de mysql. ¿Podrías explicar cómo copiarlo?
johk95
Respuestas:
218
Si desea copiar una tabla de una base de datos a otra base de datos, simplemente puede hacer lo siguiente.
Gran solución si la tabla no tiene restricciones de clave externa. Usé esto para hacer una copia de una base de datos completa en lugar de solo una tabla. Para eso, recomiendo usar el comando mysqldump.
thorne51
MySQL ahora puede almacenar datos de tablas en archivos individuales (y los archivos frm también son por tabla). Este enfoque sin duda funcionaría, pero con grandes bases de datos es lento. ¿Hay otra forma tal vez?
Alex Kovshovik
1
Esto solo funciona si las bases de datos están en el mismo servidor.
zgr024
10
o simplemente CREAR TABLA db2.table SELECT * FROM db1.table en MySQL 5
Respuestas:
Si desea copiar una tabla de una base de datos a otra base de datos, simplemente puede hacer lo siguiente.
fuente
o simplemente CREAR TABLA db2.table SELECT * FROM db1.table en MySQL 5
fuente
En BASH puedes hacer:
fuente
CREAR TABLA db2.table_new AS SELECT * FROM db1.table_old
fuente
Si solo desea que se copie la estructura, simplemente use
CREATE TABLE Db_Name.table1 LIKE DbName.table2;
Ps> que no copiará el esquema y los datos
fuente
simplemente use -
CREAR TABLA DB2.newtablename SELECT * FROM DB1.existingtablename;
fuente
En la línea de comandos:
Esto copiará la tabla dentro de SCHEMA en localhost a SCHEMA2 en otherhost.
localhost y otherhost son solo nombres de host y pueden ser iguales o diferentes.
fuente