Passer au contenu principal
Permet d’exécuter des requêtes SELECT et INSERT sur des données stockées sur un serveur MySQL distant.

Syntaxe

Arguments

Les arguments peuvent également être transmis à l’aide de collections nommées. Dans ce cas, host et port doivent être spécifiés séparément. Cette approche est recommandée en environnement de production. Les clauses WHERE simples telles que =, !=, >, >=, <, <= sont actuellement exécutées sur le serveur MySQL. Le reste des conditions et la contrainte d’échantillonnage LIMIT ne sont exécutés dans ClickHouse qu’une fois la requête MySQL terminée. Prend en charge plusieurs répliques, qui doivent être séparées par |. Par exemple :
ou

Valeur retournée

Un objet de table avec les mêmes colonnes que la table MySQL d’origine.
Certains types de données MySQL peuvent correspondre à différents types de ClickHouse ; cela est géré par le paramètre au niveau de la requête mysql_datatypes_support_level
Dans la requête INSERT, pour distinguer la fonction de table mysql(...) d’un nom de table accompagné d’une liste de noms de colonnes, vous devez utiliser les mots-clés FUNCTION ou TABLE FUNCTION. Voir les exemples ci-dessous.

Exemples

Table dans MySQL :
Sélection de données dans ClickHouse :
Ou avec les collections nommées :

enable_compression

Active la compression pour les connexions via le protocole MySQL. Valeur par défaut : false. Ce paramètre s’applique à :
  • la fonction de table mysql ;
  • le moteur de table MySQL ;
  • le moteur de base de données MySQL ;
  • les collections nommées utilisées par les intégrations MySQL.
Lorsqu’il est activé, ClickHouse demande la compression pour cette connexion. Exemple :
Remplacement et insertion :
Copie des données d’une table MySQL vers une table ClickHouse :
Ou, si vous copiez uniquement un lot incrémentiel depuis MySQL en vous basant sur l’ID maximal actuel :
Dernière modification le 25 juin 2026