Skip to main content
Skip to main content

mysql

允许对存储在远程MySQL服务器上的数据执行SELECTINSERT查询。

语法

参数

  • 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 = 1on_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表具有相同列的表对象。

Note

INSERT查询中为了区分mysql(...)与带有列名列表的表名的表函数,你必须使用关键字FUNCTIONTABLE FUNCTION。查看如下示例。

用法示例

MySQL中的表:

从ClickHouse中查询数据:

替换和插入:

另请参阅