Saturday, 20 de May de 2006
É muito comum a necessidade de exportar uma determinada consulta em um arquivo texto, seja para fazer um backup, seja até mesmo para a utilização da consulta em outros aplicativos, como por exemplo, a construção de gráficos em uma planilha eletrônica a partir dos dados consultados.
Para realizarmos essa tarefa no MySQL, devemos utilizar a seguinte sintaxe:
INTO OUTFILE [nome_arquivo][opções_FIELD] (Sem as chaves!)
Por exemplo, em uma tabela agenda, podemos gravar em um arquivo txt a consulta que extrai todos os campos dessa tabela.
Não especificndo nenhum parâmetro como opção, o MySQL faz a gravação padrão, separando os campos com TAB.
Não especificando nenhuma opção de caminho para o arquivo, o MySQL irá gravá-lo na mesma pasta em que se encontra a base de dados (caso aconteça isso, não poderá haver nenhum outro arquivo com o mesmo nome nessa pasta).
Caso tenhamos que especificar um outro endereço, devemos fazê-lo no nome do arquivo. Caso a pasta em que o arquivo deverá ser salvo seja c:/backup, a sintaxe da consulta seria:
SELECT *
INTO OUTFILE "c:/backup/saida.txt"
Se precisarmos especificar outros tipos de delimitadores de campos no arquivo de consulta, devemos utilizar o parâmetro FIELDS. A sintaxe é a que segue:
FIELDS
TERMINATED BY 'caracter_x'
OPTIONALLY ENCLOSED BY 'caracter_y'
ESCAPED BY 'caracter_escape'
LINES TERMINATED BY 'caracter_termino'
Sobre a cláusula FIELDS, como vimos nos exemplos anteriores, ela é opcional. Mas uma vez que seja declarada, é necessário preencher um dos parâmetros. Seus parâmetros são os seguintes:
. TERMINATED: indica qual caracter será o delimitador de campos do arquivo.
Se for o 'TAB', não precisamos declará-lo (por ser padrão). Aqui podemos definir outro padrão, como por exemplo o ' ; ';
. ENCLOSED BY: indica o caracter que será usado para envolver os campos no arquivo. Se não colocarmos o parâmetro OPTIONALLY, todos os campos começarão e terminarão com o caracter especificado. Colocando o OPTIONALLY, apenas os campos CHAR, VARCHAR e TEXT começarão e terminarão com este caracter especificado;
. ESCAPED BY: controla a forma como determinados caracteres foram gravados
no arquivo. É válido quando queremos que a consulta informe um valor alternativo a determinados valores (por exemplo campos com conteúdo NULL);
. LINES TERMINATED BY: este parâmetro, opcional, indica qual deve ser o caracter que indica o fim de linha.
Nenhum comentário, seja o primeiro a comentar.
Para adicionar um comentário você deve efetuar o
login