ClickHouse(23)ClickHouse集成Mysql表引擎详细解析

MySQL表引擎

MySQL引擎可以对存在远程MySQL服务器上的数据执行SELECT查询。

调用格式:

复制代码
MySQL('host:port', 'database', 'table', 'user', 'password'[, replace_query, 'on_duplicate_clause']);

调用参数

  • host:port --- MySQL 服务器地址。
  • database --- 数据库的名称。
  • table --- 表名称。
  • user --- 数据库用户。
  • password --- 用户密码。
  • replace_query --- 将 INSERT INTO 查询是否替换为 REPLACE INTO 的标志。如果 replace_query=1,则替换查询
  • 'on_duplicate_clause' --- 将 ON DUPLICATE KEY UPDATE 'on_duplicate_clause' 表达式添加到 INSERT 查询语句中。例如:impression = VALUES(impression) + impression。如果需要指定 'on_duplicate_clause',则需要设置 replace_query=0。如果同时设置 replace_query = 1 和 'on_duplicate_clause',则会抛出异常。

此时,简单的WHERE子句(例如 =, !=, >, >=, <, <=)是在MySQL服务器上执行。

其余条件以及LIMIT采样约束语句仅在对MySQL的查询完成后才在ClickHouse中执行。

MySQL引擎不支持NULL值,因此,当从MySQL表中读取数据时,NULL将转换为指定列类型的默认值(通常为0或空字符串)。

实例

sql 复制代码
select * 
from  MySQL('host:port', 'database', 'table', 'user', 'password'[, replace_query, 'on_duplicate_clause'])
limit 1000;

资料分享

ClickHouse经典中文文档分享

系列文章

clickhouse系列文章

相关推荐
大大大大晴天10 分钟前
每天认识一个组件:Apache Kafka
大数据
Nturmoils12 分钟前
SQL 编辑器不只是写查询:我用 KStudio 排查一次订单异常
数据库
IvorySQL31 分钟前
PostgreSQL 日报|逻辑解码 DDL 子事务缺陷修复(10 月 12 日)
数据库·postgresql
2501_9336707934 分钟前
2027秋招岗位能力分组:数据科学与大数据技术专业如何组织技能与项目
大数据
这个DBA有点耶40 分钟前
研发规模/投入最大的国产数据库厂商是谁?拆解五个衡量维度
数据库·程序员·产品
葡萄城技术团队1 小时前
数据库里的数据明明是对的,为什么 BI 报表还是错?
数据库
野生数据人1 小时前
日志平台每日巡检我压成了一条命令链:从 SHOW BACKENDS 到扩缩容的完整步骤
大数据·数据库
bmxy小明同学1 小时前
2026-10-09-token与成本
java·前端·数据库
路远的数据库笔记1 小时前
Oracle报ORA-00020连接打满?从专用进程模型到静态参数,一次生产排查全记录
数据库·oracle·国产数据库·ora-00020·dba实战·sharedserver
瀚高PG实验室2 小时前
瀚高数据库序列介绍、使用及值不连续、重复写入等现象处理
数据库·postgresql·瀚高数据库