SELECT et INSERT sur des données stockées sur un serveur MySQL distant.
Syntaxe
Arguments
| Argument | Description |
|---|---|
host:port | Adresse du serveur MySQL. |
database | Nom de la base de données distante. |
table | Nom de la table distante. |
user | Utilisateur MySQL. |
password | Mot de passe de l’utilisateur. |
replace_query | Indicateur qui convertit les requêtes INSERT INTO en REPLACE INTO. Valeurs possibles :- 0 - La requête est exécutée comme INSERT INTO.- 1 - La requête est exécutée comme REPLACE INTO. |
on_duplicate_clause | Expression ON DUPLICATE KEY on_duplicate_clause ajoutée à la requête INSERT. Elle ne peut être spécifiée qu’avec replace_query = 0 (si vous passez simultanément replace_query = 1 et on_duplicate_clause, ClickHouse génère une exception).Exemple : INSERT INTO t (c1,c2) VALUES ('a', 2) ON DUPLICATE KEY UPDATE c2 = c2 + 1;Ici, on_duplicate_clause correspond à UPDATE c2 = c2 + 1. Consultez la documentation MySQL pour savoir quelle valeur de on_duplicate_clause vous pouvez utiliser avec la clause ON DUPLICATE KEY. |
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 :
Valeur retournée
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
enable_compression
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.