select * from system.table_functions;
下面按照顺序对每个表函数进行解释并给出示例:
-
format
:用于将数据以指定格式输出。例如,将查询结果以CSV格式输出:sqlCopy code SELECT * FROM my_table FORMAT CSV;
-
dictionary
:用于创建和管理字典表,以便进行数据转换和查询优化。例如,创建一个字典表:sqlCopy code CREATE DICTIONARY my_dictionary (key String, value Int32) PRIMARY KEY key SOURCE(CLICKHOUSE(table), 'my_table', 'key', 'value');
-
mysql
:用于连接和查询MySQL数据库。例如,从MySQL数据库中读取数据:sqlCopy code SELECT * FROM mysql('host', 'database', 'table', 'user', 'password');
-
viewIfPermitted
:用于创建和管理视图,仅在具有足够权限的情况下可见。例如,创建一个视图:sqlCopy code CREATE VIEW my_view IF PERMITTED AS SELECT * FROM my_table;
-
odbc
:用于连接和查询通过ODBC驱动程序访问的数据源。例如,从ODBC数据源中读取数据:sqlCopy code SELECT * FROM odbc('dsn', 'query');
-
hive
:用于连接和查询Hive数据存储。例如,从Hive表中读取数据:sqlCopy code SELECT * FROM hive('database', 'table');
-
numbers
:生成指定范围内的连续数字。例如,生成从1到10的连续数字:scssCopy code SELECT * FROM numbers(1, 10);
-
hdfs
:用于连接和查询HDFS存储。例如,从HDFS文件中读取数据:sqlCopy code SELECT * FROM hdfs('hdfs://namenode:port/path/to/file', 'CSV');
-
MeiliSearch
:用于连接和查询MeiliSearch全文搜索引擎。例如,执行MeiliSearch查询:sqlCopy code SELECT * FROM MeiliSearch('<http://localhost:7700>', 'index', 'query');
-
cosn
:用于连接和查询COSN(ClickHouse Open Storage Network)存储。例如,从COSN存储中读取数据:sqlCopy code SELECT * FROM cosn('my_bucket', 'my_prefix/*.csv', 'CSV');
-
jdbc
:用于连接和查询通过JDBC驱动程序访问的数据源。例如,从JDBC数据源中读取数据:sqlCopy code SELECT * FROM jdbc('jdbc:mysql://localhost:3306/database', 'user', 'password', 'SELECT * FROM table');
-
zeros_mt
:生成指定范围内的连续数字,并填充为0。例如,生成从1到10的连续数字,并将其填充为0:scssCopy code SELECT * FROM zeros_mt(1, 10);
-
mongodb
:用于连接和查询MongoDB数据库。例如,从MongoDB集合中读取数据:sqlCopy code SELECT * FROM mongodb('localhost', 'database', 'collection');
-
generateRandom
:生成随机数。例如,生成10个介于1和100之间的随机数:scssCopy code SELECT generateRandom(1, 100) AS random_number FROM numbers(1, 10);
-
remote
:用于在远程ClickHouse服务器上执行查询。例如,执行远程查询:sqlCopy code SELECT * FROM remote('remote_server', my_table);
-
input
:用于读取输入参数的值。例如,读取名为param的输入参数的值:arduinoCopy code SELECT input('param') AS parameter_value;
-
s3Cluster
:用于连接和查询S3存储集群。例如,从S3存储桶中读取数据:sqlCopy code SELECT * FROM s3Cluster('my_bucket', 'my_prefix/*.csv', 'CSV');
-
values
:用于创建包含指定值的虚拟表。例如,创建一个包含两列和两行的虚拟表:sqlCopy code SELECT * FROM values ((1, 'A'), (2, 'B')) AS my_table (column1, column2);
-
s3
:用于连接和查询单个S3存储桶。例如,从S3存储桶中读取数据:sqlCopy code SELECT * FROM s3('my_bucket', 'my_file.csv', 'CSV');
-
url
:用于通过HTTP GET请求获取数据。例如,通过URL获取JSON数据:sqlCopy code SELECT * FROM url('<http://api.example.com/data.json>');
-
remoteSecure
:用于在安全的远程ClickHouse服务器上执行查询。例如,执行安全的远程查询:sqlCopy code SELECT * FROM remoteSecure('remote_server', my_table);
-
sqlite
:用于连接和查询SQLite数据库。例如,从SQLite数据库中读取数据:sqlCopy code SELECT * FROM sqlite('database.db', 'SELECT * FROM table');
-
zeros
:生成指定数量的零值。例如,生成10个零值:scssCopy code SELECT * FROM zeros(10);
-
view
:用于创建和管理视图。例如,创建一个视图:sqlCopy code CREATE VIEW my_view AS SELECT * FROM my_table;
-
numbers_mt
:生成指定范围内的连续数字。例如,生成从1到10的连续数字:scssCopy code SELECT * FROM numbers_mt(1, 10);
-
executable
:执行指定的外部可执行文件,并将其输出作为表返回。例如,执行外部脚本并返回结果:sqlCopy code SELECT * FROM executable('path/to/script.sh');
-
clusterAllReplicas
:查询跨所有副本的数据。例如,从集群的所有副本中读取数据:scssCopy code SELECT * FROM clusterAllReplicas(my_table);
-
cluster
:查询指定副本的数据。例如,从集群的特定副本中读取数据:sqlCopy code SELECT * FROM cluster('replica1', my_table);
-
merge
:合并多个表的数据。例如,合并两个表的数据:sqlCopy code SELECT * FROM merge(my_table1, my_table2);
-
postgresql
:用于连接和查询PostgreSQL数据库。例如,从PostgreSQL数据库中读取数据:sqlCopy code SELECT * FROM postgresql('localhost', 'database', 'user', 'password', 'SELECT * FROM table');
-
hdfsCluster
:用于连接和查询HDFS集群中的数据。例如,从HDFS集群中读取数据:sqlCopy code SELECT * FROM hdfsCluster('hdfs://localhost:9000', 'path/to/file.csv', 'CSV');
-
null
:生成包含NULL值的表。例如,生成包含3行和2列的NULL值表:sqlCopy code SELECT * FROM null(3, 2);
-
file
:读取指定文件的内容作为表数据。例如,读取文件内容作为表数据:sqlCopy code SELECT * FROM file('path/to/file.txt');
-
format
:将表数据以指定的格式进行格式化输出。例如,将表数据以CSV格式进行输出:scssCopy code SELECT * FROM format(TabSeparated, my_table);
-
MeiliSearch
:与 MeiliSearch 全文搜索引擎进行交互。例如,从 MeiliSearch 中搜索匹配的文档:sqlCopy code SELECT * FROM MeiliSearch('<http://localhost:7700>', 'my_index', 'my_query');
-
cosn
:从腾讯云 COS 存储桶中读取数据。例如,从 COS 存储桶中读取 Parquet 格式的数据:sqlCopy code SELECT * FROM cosn('bucket-name', 'path/to/file.parquet', 'Parquet');
-
remote
:查询远程 ClickHouse 服务器中的表。例如,从远程服务器中读取表数据:sqlCopy code SELECT * FROM remote('<http://remote-server:8123>', my_table);
-
input
:从标准输入流中读取数据作为表。例如,从标准输入中读取数据:sqlCopy code SELECT * FROM input('TabSeparated');
-
s3Cluster
:从 Amazon S3 存储桶中读取数据。例如,从 S3 存储桶中读取 CSV 格式的数据:sqlCopy code SELECT * FROM s3Cluster('s3://bucket-name', 'path/to/file.csv', 'CSV');
-
values
:创建一个包含指定值的表。例如,创建一个包含两列和三行的表:sqlCopy code SELECT * FROM values ((1, 'A'), (2, 'B'), (3, 'C')) AS my_table (id, name);
-
s3
:从 Amazon S3 存储桶中读取数据。例如,从 S3 存储桶中读取 Parquet 格式的数据:sqlCopy code SELECT * FROM s3('s3://bucket-name', 'path/to/file.parquet', 'Parquet');
-
url
:从指定的 URL 地址读取数据。例如,从 URL 地址中读取 CSV 格式的数据:sqlCopy code SELECT * FROM url('<http://example.com/data.csv>', 'CSV');
-
remoteSecure
:安全地连接到远程 ClickHouse 服务器并查询表数据。例如,从远程服务器中读取表数据:sqlCopy code SELECT * FROM remoteSecure('<https://remote-server:8443>', my_table);
-
sqlite
:连接和查询 SQLite 数据库。例如,从 SQLite 数据库中读取数据:cssCopy code SELECT * FROM sqlite('path/to/database.db', 'SELECT * FROM table');
-
zeros
:创建一个包含指定数量零值的表。例如,创建一个包含5个零值的表:vbnetCopy code SELECT * FROM zeros(5) AS my_table;
-
view
:从视图中查询数据。例如,查询名为my_view
的视图:sqlCopy code SELECT * FROM view(my_view);
-
numbers_mt
:生成从指定范围开始的连续数字。例如,生成从1到100的连续数字:vbnetCopy code SELECT * FROM numbers_mt(1, 100) AS my_table;
-
executable
:通过执行外部可执行文件来生成表数据。例如,通过执行外部程序生成表数据:sqlCopy code SELECT * FROM executable('/path/to/executable', 'arg1', 'arg2') AS my_table;
-
clusterAllReplicas
:查询包含集群的所有副本的表。例如,查询名为my_table
的集群表的所有副本:sqlCopy code SELECT * FROM clusterAllReplicas('my_cluster', 'default', 'my_table');
-
cluster
:从指定的集群副本中查询数据。例如,从名为my_cluster
的集群中读取表数据:sqlCopy code SELECT * FROM cluster('my_cluster', 'default', my_table);
-
merge
:合并多个表的数据。例如,合并表table1
和table2
的数据:sqlCopy code SELECT * FROM merge([table1, table2]) AS my_table;
-
postgresql
:连接和查询 PostgreSQL 数据库。例如,从 PostgreSQL 数据库中读取数据:sqlCopy code SELECT * FROM postgresql('host=localhost port=5432 dbname=mydb user=myuser password=mypassword', 'SELECT * FROM table');
-
hdfsCluster
:从 HDFS 集群中读取数据。例如,从 HDFS 集群中读取 Parquet 格式的数据:sqlCopy code SELECT * FROM hdfsCluster('hdfs://namenode:9000', 'path/to/file.parquet', 'Parquet');
-
null
:创建一个包含指定数量 NULL 值的表。例如,创建一个包含5个 NULL 值的表:sqlCopy code SELECT * FROM null(5) AS my_table;
-
file
:从本地文件中读取数据。例如,从本地文件中读取 CSV 格式的数据:sqlCopy code SELECT * FROM file('/path/to/file.csv', 'CSV');