Skip to main content
Skip to main content

mysql

Позволяет выполнять запросы SELECT и INSERT над данными, хранящимися на удалённом MySQL сервере.

Синтаксис

Аргументы

  • host:port — адрес сервера MySQL.

  • database — имя базы данных на удалённом сервере.

  • table — имя таблицы на удалённом сервере.

  • user — пользователь MySQL.

  • password — пароль пользователя.

  • replace_query — флаг, отвечающий за преобразование запросов INSERT INTO в REPLACE INTO. Возможные значения:

    • 0 - выполняется запрос INSERT INTO.
    • 1 - выполняется запрос REPLACE INTO.
  • on_duplicate_clause — выражение ON DUPLICATE KEY on_duplicate_clause, добавляемое в запрос INSERT. Может быть передано только с помощью replace_query = 0 (если вы одновременно передадите replace_query = 1 и on_duplicate_clause, будет сгенерировано исключение).

    Пример: INSERT INTO t (c1,c2) VALUES ('a', 2) ON DUPLICATE KEY UPDATE c2 = c2 + 1, где on_duplicate_clause это UPDATE c2 = c2 + 1. Выражения, которые могут использоваться в качестве on_duplicate_clause в секции ON DUPLICATE KEY, можно посмотреть в документации по MySQL.

Простые условия WHERE такие как =, !=, >, >=, <, = выполняются на стороне сервера MySQL.

Остальные условия и ограничение выборки LIMIT будут выполнены в ClickHouse только после выполнения запроса к MySQL.

Поддерживает несколько реплик, которые должны быть перечислены через |. Например:

или

Возвращаемое значение

Объект таблицы с теми же столбцами, что и в исходной таблице MySQL.

Примечание

Чтобы отличить табличную функцию mysql (...) в запросе INSERT от имени таблицы со списком столбцов, используйте ключевые слова FUNCTION или TABLE FUNCTION. См. примеры ниже.

Примеры

Таблица в MySQL:

Получение данных в ClickHouse:

Замена и вставка:

Смотрите также