Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

INTO OUTFILE

A cláusula INTO OUTFILE redireciona o resultado de uma consulta SELECT para um arquivo no lado do cliente.

Arquivos compactados são compatíveis. O tipo de compressão é detectado pela extensão do nome do arquivo (o modo 'auto' é usado por padrão). Como alternativa, ele pode ser especificado explicitamente em uma cláusula COMPRESSION. O nível de compressão de um determinado tipo de compressão pode ser especificado em uma cláusula LEVEL.

Sintaxe

SELECT <expr_list> INTO OUTFILE file_name [AND STDOUT] [APPEND | TRUNCATE] [COMPRESSION type [LEVEL level]]

file_name e type são literais de string. Os tipos de compressão suportados são: 'none', 'gzip', 'deflate', 'br', 'xz', 'zstd', 'lz4', 'bz2'.

level é um literal numérico. Há suporte para inteiros positivos nos seguintes intervalos: 1-12 para os tipos gzip, deflate e lz4, 1-22 para o tipo zstd e 1-9 para os demais tipos de compressão. Para gzip e deflate, níveis acima de 9 exigem a compilação padrão com libdeflate; uma compilação sem libdeflate oferece suporte aos níveis 1-9.

Detalhes de implementação

  • Esta funcionalidade está disponível no cliente de linha de comando e no clickhouse-local. Portanto, uma consulta enviada pela interface HTTP falhará.
  • A consulta falhará se já existir um arquivo com o mesmo nome.
  • O formato de saída padrão é TabSeparated (como no modo batch do cliente de linha de comando). Use a cláusula FORMAT para alterá-lo.
  • Se AND STDOUT for mencionado na consulta, a saída gravada no arquivo também será exibida na saída padrão. Se usado com compressão, o conteúdo sem compressão será exibido na saída padrão.
  • Se APPEND for mencionado na consulta, a saída será acrescentada a um arquivo existente. Se a compressão for usada, APPEND não poderá ser usado.
  • Ao gravar em um arquivo que já existe, é obrigatório usar APPEND ou TRUNCATE.

Exemplo

Execute a consulta a seguir usando o cliente de linha de comando:

Querybash
clickhouse-client --query="SELECT 1,'ABC' INTO OUTFILE 'select.gz' FORMAT CSV;"
zcat select.gz
Responsetext
1,"ABC"
Navigation