SELECT e INSERT sobre datos almacenados en un servidor MySQL remoto.
Sintaxis
Argumentos
| Argumento | Descripción |
|---|---|
host:port | Dirección del servidor MySQL. |
database | Nombre de la base de datos remota. |
table | Nombre de la tabla remota. |
user | Usuario de MySQL. |
password | Contraseña del usuario. |
replace_query | Indicador que convierte las consultas INSERT INTO en REPLACE INTO. Posibles valores:- 0 - La consulta se ejecuta como INSERT INTO.- 1 - La consulta se ejecuta como REPLACE INTO. |
on_duplicate_clause | La expresión ON DUPLICATE KEY on_duplicate_clause que se añade a la consulta INSERT. Solo puede especificarse con replace_query = 0 (si se pasan simultáneamente replace_query = 1 y on_duplicate_clause, ClickHouse genera una excepción).Ejemplo: INSERT INTO t (c1,c2) VALUES ('a', 2) ON DUPLICATE KEY UPDATE c2 = c2 + 1;Aquí, on_duplicate_clause es UPDATE c2 = c2 + 1. Consulta la documentación de MySQL para ver qué on_duplicate_clause puedes usar con la cláusula ON DUPLICATE KEY. |
host y port deben especificarse por separado. Este enfoque se recomienda para entornos de producción.
Las cláusulas WHERE simples, como =, !=, >, >=, <, <=, se ejecutan actualmente en el servidor MySQL.
El resto de las condiciones y la restricción de muestreo LIMIT se ejecutan en ClickHouse solo después de que termina la consulta a MySQL.
Admite varias réplicas, que deben indicarse con |. Por ejemplo:
Valor devuelto
Algunos tipos de datos de MySQL pueden asignarse a distintos tipos de ClickHouse; esto se resuelve mediante la configuración a nivel de consulta mysql_datatypes_support_level
En la consulta
INSERT, para distinguir la función de tabla mysql(...) del nombre de tabla con la lista de nombres de columnas, debe usar las palabras clave FUNCTION o TABLE FUNCTION. Vea los ejemplos a continuación.