メインコンテンツへスキップ
リモートの MySQLサーバーに保存されているデータに対して、SELECT および INSERT クエリを実行できます。

構文

引数

引数は 名前付きコレクション を使用して渡すこともできます。この場合、hostport は別々に指定する必要があります。本番環境ではこの方法を推奨します。 =, !=, >, >=, <, <= のような単純な WHERE 句は、現在 MySQLサーバー上で実行されます。 それ以外の条件と LIMIT サンプリング制約は、MySQL へのクエリの完了後にのみ ClickHouse で実行されます。 複数のレプリカをサポートしており、| で列挙する必要があります。例えば:
または

戻り値

元の MySQL テーブルと同じカラムを持つテーブルオブジェクトです。
MySQL の一部のデータ型は、複数の ClickHouse の型にマッピングされる場合があります。これはクエリレベルの設定 mysql_datatypes_support_level で制御されます。
INSERT クエリでは、テーブル関数 mysql(...) と、カラム名リスト付きのテーブル名を区別するために、キーワード FUNCTION または TABLE FUNCTION を使用する必要があります。以下の例を参照してください。

MySQLのテーブル:
ClickHouseからデータを取得する:
または、名前付きコレクション を使用する方法:
置換と挿入:
MySQLテーブルからClickHouseテーブルへのデータコピー:
または、現在の最大 ID を基準に MySQL から増分バッチのみをコピーする場合:
最終更新日 2026年6月19日