Quero copiar a tabela contida em um banco de dados e inserir em outra tabela de banco de dados
96
Quero copiar o esquema de uma tabela, bem como os dados dessa tabela, para outra tabela de banco de dados em outro banco de dados em um servidor ativo. Como posso fazer isso?
use duas conexões de banco de dados e leia a estrutura da tabela de uma e execute essa consulta na outra
Dau
Esses bancos de dados estão em instâncias separadas do mysql ou são o mesmo? Diferentes instâncias podem ser configuradas com replicação se este for um processo contínuo.
Nick
@Nick meus bancos de dados estão em diferentes instâncias do mysql. Você poderia explicar como copiá-lo?
johk95 de
Respostas:
218
Se você deseja copiar uma tabela de um banco de dados para outro banco de dados, você pode simplesmente fazer como abaixo.
Ótima solução se a tabela não tiver restrições de chave estrangeira. Usei isso para fazer uma cópia de um banco de dados inteiro em vez de apenas uma tabela. Para isso, eu recomendo usar o comando mysqldump.
thorne51 de
O MySQL agora pode armazenar dados da tabela em arquivos individuais (e os arquivos frm também estão por tabela). Essa abordagem sem dúvida funcionaria, mas com bancos de dados enormes é lenta. Existe outra maneira, talvez?
Alex Kovshovik
1
Isso só funciona se os bancos de dados estiverem no mesmo servidor.
zgr024
10
ou apenas CREATE TABLE db2.table SELECT * FROM db1.table no MySQL 5
Respostas:
Se você deseja copiar uma tabela de um banco de dados para outro banco de dados, você pode simplesmente fazer como abaixo.
fonte
ou apenas CREATE TABLE db2.table SELECT * FROM db1.table no MySQL 5
fonte
No BASH você pode fazer:
fonte
CREATE TABLE db2.table_new AS SELECT * FROM db1.table_old
fonte
Se você apenas deseja que a estrutura seja copiada, basta usar
CREATE TABLE Db_Name.table1 LIKE DbName.table2;
Ps> que não copia esquema e dados
fonte
simplesmente use -
CREATE TABLE DB2.newtablename SELECT * FROM DB1.existingtablename;
fonte
Em linha de comando:
Isso copiará a tabela dentro de SCHEMA em localhost para SCHEMA2 em otherhost.
localhost e otherhost são apenas nomes de host e podem ser iguais ou diferentes.
fonte