Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Табличные функции

Табличные функции — это способы создания таблиц.

Использование

Табличные функции можно использовать в секции FROM запроса SELECT. Например, с помощью табличной функции file можно выполнить SELECT данных из файла на локальном компьютере.

Querybash
echo "1, 2, 3" > example.csv
Responsetext
./clickhouse client
:) SELECT * FROM file('example.csv')
┌─c1─┬─c2─┬─c3─┐
│  1 │  2 │  3 │
└────┴────┴────┘

Вы также можете использовать табличные функции для создания временной таблицы, доступной только в рамках текущего запроса. Например:

Querysql
SELECT * FROM generateSeries(1,5);
Responseresponse
┌─generate_series─┐
│               1 │
│               2 │
│               3 │
│               4 │
│               5 │
└─────────────────┘

Таблица удаляется после завершения запроса.

Табличные функции можно использовать для создания таблиц со следующим синтаксисом:

Querysql
CREATE TABLE [IF NOT EXISTS] [db.]table_name AS table_function()

Например:

Querysql
CREATE TABLE series AS generateSeries(1, 5);
SELECT * FROM series;
Responseresponse
┌─generate_series─┐
│               1 │
│               2 │
│               3 │
│               4 │
│               5 │
└─────────────────┘

Наконец, табличные функции можно использовать для INSERT в таблицу. Например, мы можем снова использовать табличную функцию file, чтобы записать содержимое таблицы, которую создали в предыдущем примере, в файл на диске:

Querysql
INSERT INTO FUNCTION file('numbers.csv', 'CSV') SELECT * FROM series;
Querybash
cat numbers.csv
1
2
3
4
5
Navigation