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