INTO OUTFILE Clause
INTO OUTFILE clause redirects the result of a SELECT query to a file on the client side.
Compressed files are supported. Compression type is detected by the extension of the file name (mode 'auto' is used by default). Or it can be explicitly specified in a COMPRESSION clause. The compression level for a certain compression type can be specified in a LEVEL clause.
Syntax
file_name and type are string literals. Supported compression types are: 'none', 'gzip', 'deflate', 'br', 'xz', 'zstd', 'lz4', 'bz2'.
level is a numeric literal. Positive integers in following ranges are supported: 1-12 for lz4 type, 1-22 for zstd type and 1-9 for other compression types.
Implementation Details
- This functionality is available in the command-line client and clickhouse-local. Thus a query sent via HTTP interface will fail.
- The query will fail if a file with the same file name already exists.
- The default output format is
TabSeparated(like in the command-line client batch mode). Use FORMAT clause to change it. - If
AND STDOUTis mentioned in the query then the output that is written to the file is also displayed on standard output. If used with compression, the plaintext is displayed on standard output. - If
APPENDis mentioned in the query then the output is appended to an existing file. If compression is used, append cannot be used. - When writing to a file that already exists,
APPENDorTRUNCATEmust be used.
Example
Execute the following query using command-line client:
Result: