jdbc
注意
clickhouse-jdbc-bridge
包含实验性代码,且不再受支持。它可能包含可靠性问题和安全漏洞。使用风险自负。ClickHouse 建议使用 ClickHouse 中的内置表函数,这些函数为临时查询场景(Postgres、MySQL、MongoDB 等)提供了更好的替代方案。
jdbc(datasource, schema, table)
- 返回通过 JDBC 驱动程序连接的表。
此表函数需要单独运行 clickhouse-jdbc-bridge 程序。它支持 Nullable 类型(基于所查询的远程表的 DDL)。
示例
SELECT * FROM jdbc('jdbc:mysql://127.0.0.1:3306/?user=root&password=root', 'schema', 'table')
SELECT * FROM jdbc('mysql://127.0.0.1:3306/?user=root&password=root', 'select * from schema.table')
SELECT * FROM jdbc('mysql-dev?p1=233', 'num Int32', 'select toInt32OrZero(''{{p1}}'') as num')
SELECT *
FROM jdbc('mysql-dev?p1=233', 'num Int32', 'select toInt32OrZero(''{{p1}}'') as num')
SELECT a.datasource AS server1, b.datasource AS server2, b.name AS db
FROM jdbc('mysql-dev?datasource_column', 'show databases') a
INNER JOIN jdbc('self?datasource_column', 'show databases') b ON a.Database = b.name