Saltar al contenido principal
La cláusula INTO OUTFILE redirige el resultado de una consulta SELECT a un archivo en el lado del cliente. Se admiten archivos comprimidos. El tipo de compresión se detecta por la extensión del nombre del archivo (de forma predeterminada, se usa el modo 'auto'). También puede especificarse explícitamente en una cláusula COMPRESSION. El nivel de compresión para un tipo de compresión determinado puede especificarse en una cláusula LEVEL. Sintaxis
SELECT <expr_list> INTO OUTFILE file_name [AND STDOUT] [APPEND | TRUNCATE] [COMPRESSION type [LEVEL level]]
file_name y type son literales de cadena. Los tipos de compresión admitidos son: 'none', 'gzip', 'deflate', 'br', 'xz', 'zstd', 'lz4', 'bz2'. level es un literal numérico. Se admiten enteros positivos dentro de los siguientes rangos: 1-12 para el tipo lz4, 1-22 para el tipo zstd y 1-9 para los demás tipos de compresión.

Detalles de implementación

  • Esta funcionalidad está disponible en el cliente de línea de comandos y clickhouse-local. Por lo tanto, una consulta enviada a través de la interfaz HTTP fallará.
  • La consulta fallará si ya existe un archivo con el mismo nombre de archivo.
  • El formato de salida predeterminado es TabSeparated (como en el modo por lotes del cliente de línea de comandos). Use la cláusula FORMAT para cambiarlo.
  • Si se menciona AND STDOUT en la consulta, la salida que se escribe en el archivo también se muestra en la salida estándar. Si se usa compresión, el texto sin cifrar se muestra en la salida estándar.
  • Si se menciona APPEND en la consulta, la salida se añade a un archivo existente. Si se usa compresión, no se puede usar APPEND.
  • Al escribir en un archivo que ya existe, se debe usar APPEND o TRUNCATE.
Ejemplo Ejecute la siguiente consulta con el cliente de línea de comandos:
Query
clickhouse-client --query="SELECT 1,'ABC' INTO OUTFILE 'select.gz' FORMAT CSV;"
zcat select.gz 
Response
1,"ABC"
Última modificación el 10 de junio de 2026