Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

表函数

表函数是用于构建表的函数。

用法

表函数可用于 SELECT 查询的 FROM 子句中。例如,你可以使用 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