メインコンテンツへスキップ
リモートの MySQL サーバー上のデータベースに接続し、ClickHouse と MySQL の間でデータをやり取りするための INSERT および SELECT クエリを実行できます。 MySQL データベースエンジンはクエリを MySQL サーバー向けに変換するため、SHOW TABLESSHOW CREATE TABLE などの操作を実行できます。 次のクエリは実行できません。
  • RENAME
  • CREATE TABLE
  • ALTER

データベースの作成

CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster]
ENGINE = MySQL('host:port', ['database' | database], 'user', 'password')
エンジンパラメータ
  • host:port — MySQL サーバーのアドレス。
  • database — リモートデータベースの名前。
  • user — MySQL のユーザー名。
  • password — ユーザーのパスワード。

対応するデータ型

MySQLClickHouse
UNSIGNED TINYINTUInt8
TINYINTInt8
UNSIGNED SMALLINTUInt16
SMALLINTInt16
UNSIGNED INT, UNSIGNED MEDIUMINTUInt32
INT, MEDIUMINTInt32
UNSIGNED BIGINTUInt64
BIGINTInt64
FLOATFloat32
DOUBLEFloat64
DATEDate
DATETIME, TIMESTAMPDateTime
BINARYFixedString
それ以外の MySQL データ型はすべて String に変換されます。 Nullable もサポートされています。

グローバル変数のサポート

互換性を高めるため、MySQL スタイルで @@identifier としてグローバル変数を参照できます。 サポートされている変数は次のとおりです。
  • version
  • max_allowed_packet
現時点では、これらの変数はダミーであり、実際には何にも対応していません。
例:
SELECT @@version;

使用例

MySQLのテーブル:
mysql> USE test;
Database changed

mysql> CREATE TABLE `mysql_table` (
    ->   `int_id` INT NOT NULL AUTO_INCREMENT,
    ->   `float` FLOAT NOT NULL,
    ->   PRIMARY KEY (`int_id`));
Query OK, 0 rows affected (0,09 sec)

mysql> insert into mysql_table (`int_id`, `float`) VALUES (1,2);
Query OK, 1 row affected (0,00 sec)

mysql> select * from mysql_table;
+------+-----+
| int_id | value |
+------+-----+
|      1 |     2 |
+------+-----+
1 row in set (0,00 sec)
MySQLサーバーとデータをやり取りする ClickHouse 内のデータベース:
CREATE DATABASE mysql_db ENGINE = MySQL('localhost:3306', 'test', 'my_user', 'user_password') SETTINGS read_write_timeout=10000, connect_timeout=100;
SHOW DATABASES
┌─name─────┐
│ default  │
│ mysql_db │
│ system   │
└──────────┘
SHOW TABLES FROM mysql_db
┌─name─────────┐
│  mysql_table │
└──────────────┘
SELECT * FROM mysql_db.mysql_table
┌─int_id─┬─value─┐
│      1 │     2 │
└────────┴───────┘
INSERT INTO mysql_db.mysql_table VALUES (3,4)
SELECT * FROM mysql_db.mysql_table
┌─int_id─┬─value─┐
│      1 │     2 │
│      3 │     4 │
└────────┴───────┘
最終更新日 2026年6月10日