Hoje precisei copiar dados de uma tabela para outra. Mas como fazer isso facilmente atraves de linha de comando? … vou dizer, mas antes vamos as premissas:
* Não quero registros repetidos, neste caso o e-mail
* Não quero todos os dados da tabela Servidor (onde vou pegar os dados).
* So quero os e-mails começados com a letra “a”.
Então, vamos a dica:
1 | INSERT INTO tabela2 (nome, email) SELECT nome, email FROM tabela1 WHERE (email LIKE 'a%') GROUP BY email |
Logico que os dados acima são fictícios, mas funciona. A explicação basica é:
1- O comando INSERT como outro qualquer na tabela2 (a que vai receber os dados)
2- Em seguida vem um SELECT normal tambem, com os campos que desejo importar na mesma ordem que eu coloquei para inserir.
3- O WHERE para a condição dos e-mails começando com a letra “a”.
4- O GROUP BY para não repetir os e-mails. Poderia usar tambem o DISTINCT ou similar, fica a critério do fregues.
Se tiver alguma duvida sobre MySQL pode perguntar, se eu souber irei responder com certeza.
Opa! INSERT … SELECT é muito útil sim… mas se vc ainda não tiver a tabela2, pode usar assim também:
SELECT nome, email INTO tabela2 FROM tabela1 WHERE (email LIKE ‘a%’) GROUP BY email
Isso ae Tevaum…. no seu exemplo ele irá criar uma tabela com os campos nome e email. :)
Diogo, to com umas idéias bacanas pro flogvip ! Uma delas pode até estimular os usuários a quererem o GoldVIP* ! Bom, eu tento falar contigo, mas nem sempre sou respondido. Caso te interesse as idéias e minha ajuda (sei que não é nada milagroso, mas é o que posso fazer pelo meu vício haha) me avise ! Abraço.
No caso de eu ter duas conexões no banco, em uma está a tabela1, e na outra a tabela2; como faço pra criar a tabela1 com os dados da tabela2, sendo elas de “lugares” diferentes -uma não enxerga a outra?
e ai bicho, vc sumiu…. preciso muito falar com vc.
Ótimas dicas, parabéns !
Elane, recomendo voce exportar para um aquivo SQL e depois importar na outra tabela atraves desse arquivo.