Exportar tabela MySQL para Txt
17/09/2004
0
Como faço para exportar uma tabela MySQL para arquivo Texto, tendo como [b:5d0163c663]delimitador de campo o ponto-e-vírgula[/b:5d0163c663] (;), por exemplo:
Ilano;Masculino;Centec sede;Fortaleza;CE
Onde, os campos seriam, respectivamente, Nome, Sexo, Unidade, Cidade e Estado.
Grato,
Ilano.
Ilanocf
Posts
17/09/2004
Eselvati
select listadecampos into outfile ´c:/arquivo.txt´ fields terminated by ´;´ from suatabela
note q este comando deve ser rodado no servidor, nao se preocupe com a barra ao contrario, pois é assim mesmo.
Ederson
17/09/2004
Ilanocf
20/09/2004
Eselvati
Close;
SQL.Clear;
SQL.Add(´[b:8e06198115]Select[/b:8e06198115] TB_Disciplinas.CodigoDaDisciplina, TB_Disciplinas.CodigoDoCurso, TB_Disciplinas.NomeDaDisciplina, TB_Disciplinas.Semestre´);
SQL.Add(´INTO OUTFILE ´[b:8e06198115]C:/Avaliacao/Planilhas/Disciplinas.txt[/b:8e06198115]´ FIELDS Terminated by ´;´´);
SQL.Add(´FROM TB_Disciplinas´);
Open;
22/09/2004
Ilanocf
Como posso resolver isto?
22/09/2004
Ilanocf
Mas, será q não ficaria lento se forem vários registros?
Se não for pedir demais, como faria para jogar estes dados na tabela, pelo Delphi?
22/09/2004
Alex Maia
//Realiza manutenção no banco de dados
ShellExecute(0,nil, Pchar(´C:\bin\mysqlcheck´),PChar(´-r nome_banco ´), nil, sw_show);
//Realiza o dump das tabelas
ShellExecute(0,nil,Pchar(´C:\bin\mysqldump´),PChar(´--tab=C:\ -q -t nome_banco), nil, sw_show);
//Rotinas para importação dos dados
ShellExecute(0,nil,Pchar(´C:\bin\mysqlimport´),PChar(´-d nome_banco local_arquivo\nome_tabela.txt´), nil, sw_show);
22/09/2004
Ilanocf
No caso do meu arquivo texto, os campos estão separados por [b:ab19f23427]ponto-e-vírgula[/b:ab19f23427], a rotina acima terá como importar sem problemas?
Desculpe minha ignorância, mas o q vem a ser o [b:ab19f23427]Dump[/b:ab19f23427], qual sua importância?
27/09/2004
Eselvati
os melhores comandos do mysql para se trabalhar com textos é o select into outfile e load data infile, são extremamente velozes e fáceis de manipular.
lembre-se para executar este comando vc deve estar no servidor, na maquina onde a base do mysql está instalado, através dos clientes não é possivel, a nao ser q a opção local-infile esteja habilitada no arquivo de configuração c:\my.cnf de cada estação ai a clausula local deve estar informada no comando.
em minhas aplicações consigo importar, exportar 100000 registros mole-mole com estes comandos.
//para exportar
select * into outfile ´c:/clientes.txt´ fields terminated by ´;´ from clientes
//para importar
load data infile ´c:/clientes.txt´ into table clientes2 fields terminated by ´;´
estes comandos são supervelozes, sem comparação com qquer outro disponível.
veja mais em http://www.mysql.com e procure por load data infile e select into outfile
Ederson
Digimaq Registradoras e Sistemas Ltda.
Clique aqui para fazer login e interagir na Comunidade :)