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

構文

引数

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

戻り値

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

MySQLのテーブル:
ClickHouseからデータを取得する:
または、名前付きコレクション を使用する方法:

enable_compression

MySQLプロトコル接続の圧縮を有効にします。 デフォルト値: false この設定は次に適用されます:
  • mysql テーブル関数
  • MySQL テーブルエンジン
  • MySQL データベースエンジン
  • MySQLインテグレーションで使用される名前付きコレクション
有効にすると、ClickHouse は接続に対して圧縮を要求します。 例:
置換と挿入:
MySQLテーブルからClickHouseテーブルへのデータコピー:
または、現在の最大 ID を基準に MySQL から増分バッチのみをコピーする場合:
最終更新日 2026年7月2日