Tabelas Mysqldump excluindo alguns campos

14

Existe uma maneira de mysqldump uma tabela sem alguns campos?

Deixe-me explicar:
eu tenho um banco de dados MySQL chamado tests. Em testsEu tenho 3 tabelas: USER, TOTOe TATA. Eu só quero mysqldump alguns campos da tabela USER, então excluindo alguns campos, como mail, ip_login, etc.

Como posso fazer isso?

Esteira
fonte

Respostas:

13

Tente o seguinte:

SELECT column1, column2, column10
FROM USER
INTO OUTFILE "c:/user.csv"
  FIELDS TERMINATED BY ',' ENCLOSED BY '"'
  LINES TERMINATED BY "\n";

Para mais opções, leia a página de documentação .

lg_
fonte
8

Isso não pode ser feito diretamente com o mysqldump. No entanto, você pode criar uma tabela temporária ou uma exibição que não contenha os dados em questão e despejar os dados resultantes. No caso de uma visualização, acho que você precisará usar, em INTO OUTFILEvez de mysqldump, para obter os dados desejados, mas usar uma visualização em vez de uma tabela temporária tem a vantagem de não ocupar espaço extra no DBMS.

A outra opção é criar um analisador para o arquivo para retirar os campos que você não deseja. Para dizer o mínimo, isso pode se complicar muito rapidamente - ou seja, se você quiser criar um analisador robusto diante de caracteres multibyte, separadores de cadeia de escape, etc., etc. Mas para o trivial ou um -time-use case, ainda pode ser uma opção válida.

BMDan
fonte
0

Você também pode usar o Phpmyadmin para fazer isso. Crie uma consulta para selecionar os campos desejados, escolha a função "exportar" na parte inferior da página (isso exporta os resultados da consulta, não a tabela inteira) e escolha a opção "Personalizado". Em seguida, você pode escolher SQL como seu formato - se desejar, pode criar uma série de consultas UPDATE em vez de INSERTS. Muitas vezes, pode ser uma maneira rápida de fazer algo assim.

Pat
fonte
0

Muitas ferramentas de administração de banco de dados têm a capacidade de fazer uma importação personalizada. Em particular, eu fiz isso usando o Toad for MySQL para transferir dados entre tabelas usando PKs de incremento automático.

Salvei um resultado da consulta no Excel usando o Assistente de Exportação.

Em seguida, você pode excluir colunas usando o Assistente de Importação, definindo o Campo de Origem como: Ignorar Esta Coluna

assistente de importação

rrhartjr
fonte