---
title: "ClickHouse 表引擎之 MySQL"
date: 2020-10-08T10:15:00+08:00
lastmod: 2020-10-08T10:15:00+08:00
tags: []
categories: ["clickhouse"]
---

## MySQL 表引擎简介
- 可以与 MySQL 数据库中的表建立映射
- 只支持 SELECT 和 INSERT，不支持 UPDATE 和 DELETE

## 创建 MySQL 引擎表
- 声明
    ```sql
    ENGINE = MySQL(
        'host:port',
        'database',
        'table',
        'user',
        'password'
        [,
            replace_query,
            'on_duplicate_clause'
        ]
    )
    ```

- host:port: mysql 的地址和端口
- database: mysql 数据库名
- table: mysql 表名
- user: mysql 用户名
- password: mysql 密码
- replace_query: 对应 mysql 的 replace into 语法，默认 0，不启用
- on_duplicate_clause: 对应 mysql 的 on duplicate key 语法，默认空，如果要使用，需设置 replace_query 为 0

## MySQL 引擎表一般用法
- 在 mysql 中建表
- 在 clickhouse 中创建对应的 MySQL 引擎表
- 在 clickhouse 中创建 MergeTree 引擎的物化视图，从 MySQL 引擎表中读取数据

