Оператор INTO OUTFILE
Оператор INTO OUTFILE
перенаправляет результат запроса SELECT
в файл на стороне клиента.
Поддерживаются сжатые файлы. Тип сжатия определяется по расширению имени файла (по умолчанию используется режим 'auto'
). Либо его можно явным образом указать в операторе COMPRESSION
. Уровень сжатия для определенного типа сжатия может быть указан в операторе LEVEL
.
Синтаксис
file_name
и type
являются строковыми литералами. Поддерживаемые типы сжатия: 'none'
, 'gzip'
, 'deflate'
, 'br'
, 'xz'
, 'zstd'
, 'lz4'
, 'bz2'
.
level
является числовым литералом. Поддерживаются положительные целые числа в следующих диапазонах: 1-12
для типа lz4
, 1-22
для типа zstd
и 1-9
для других типов сжатия.
Подробности реализации
- Эта функциональность доступна в клиенте командной строки и clickhouse-local. Таким образом, запрос, отправленный через HTTP интерфейс, будет завершен с ошибкой.
- Запрос завершится с ошибкой, если файл с тем же именем уже существует.
- Формат вывода по умолчанию —
TabSeparated
(как в пакетном режиме клиента командной строки). Используйте оператор FORMAT, чтобы изменить его. - Если в запросе указано
AND STDOUT
, то вывод, который записывается в файл, также отображается на стандартном выводе. Если используется сжатие, текст в открытом виде отображается на стандартном выводе. - Если в запросе указано
APPEND
, то вывод добавляется к существующему файлу. Если используется сжатие, добавление не может быть использовано. - При записи в файл, который уже существует, необходимо использовать
APPEND
илиTRUNCATE
.
Пример
Выполните следующий запрос с помощью клиента командной строки:
Результат: