mysql
允许对存储在远程MySQL服务器上的数据执行SELECT
和INSERT
查询。
语法
参数
-
host:port
— MySQL服务器地址. -
database
— 远程数据库名称. -
table
— 远程表名称. -
user
— MySQL用户. -
password
— 用户密码. -
replace_query
— 将INSERT INTO查询转换为
REPLACE INTO的标志。如果
replace_query=1`,查询被替换。 -
on_duplicate_clause
— 添加ON DUPLICATE KEY on_duplicate_clause
表达式到INSERT
查询。明确规定只能使用replace_query = 0
,如果你同时设置replace_query = 1和
on_duplicate_clause`,ClickHouse将产生异常。示例:
INSERT INTO t (c1,c2) VALUES ('a', 2) ON DUPLICATE KEY UPDATE c2 = c2 + 1
on_duplicate_clause
这里是UPDATE c2 = c2 + 1
。请查阅MySQL文档,来找到可以和ON DUPLICATE KEY
一起使用的on_duplicate_clause
子句。
简单的 WHERE
子句如 =, !=, >, >=, <, <=
将即时在MySQL服务器上执行。其余的条件和 LIMIT
只有在对MySQL的查询完成后,才会在ClickHouse中执行采样约束。
支持使用|
并列进行多副本查询,示例如下:
或
返回值
与原始MySQL表具有相同列的表对象。
在INSERT
查询中为了区分mysql(...)
与带有列名列表的表名的表函数,你必须使用关键字FUNCTION
或TABLE FUNCTION
。查看如下示例。
用法示例
MySQL中的表:
从ClickHouse中查询数据:
替换和插入: