INTO OUTFILE 子句
INTO OUTFILE 子句会将 SELECT 查询的结果重定向到客户端本地的文件中。
支持压缩文件。压缩类型通过文件扩展名自动检测(默认使用 'auto' 模式),也可以在 COMPRESSION 子句中显式指定。某种压缩类型的压缩级别可以在 LEVEL 子句中指定。
语法
file_name 和 type 是字符串字面量。支持的压缩类型包括:'none'、'gzip'、'deflate'、'br'、'xz'、'zstd'、'lz4'、'bz2'。
level 是数值字面量。支持的正整数范围为:lz4 类型为 1-12,zstd 类型为 1-22,其他压缩类型为 1-9。
实现细节
- 此功能可在命令行客户端和 clickhouse-local 中使用。因此,通过 HTTP 接口 发送的查询将会失败。
- 如果已存在同名文件,查询将会失败。
- 默认的输出格式为
TabSeparated(与命令行客户端批处理模式相同)。使用 FORMAT 子句来更改输出格式。 - 如果在查询中包含
AND STDOUT,则写入文件的输出也会同时显示到标准输出上。如果启用了压缩,标准输出上显示的是未压缩的明文。 - 如果在查询中包含
APPEND,则输出会追加到已有文件中。如果使用压缩,则不能与APPEND同时使用。 - 当写入已存在的文件时,必须使用
APPEND或TRUNCATE。
示例
使用命令行客户端执行以下查询:
结果: