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:
Замена и вставка:
Смотрите также