Оператор 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.
Пример
Выполните следующий запрос, используя командный клиент:
Результат: