mysql
Syntax
Arguments
host:port
— MySQL server address.database
— Remote database name.table
— Remote table name.user
— MySQL user.password
— User password.-
0
- The query is executed asINSERT INTO
.1
- The query is executed asREPLACE INTO
.
on_duplicate_clause
— TheON DUPLICATE KEY on_duplicate_clause
expression that is added to theINSERT
query. Can be specified only with (if you simultaneously passreplace_query = 1
andon_duplicate_clause
, ClickHouse generates an exception).Example:
INSERT INTO t (c1,c2) VALUES ('a', 2) ON DUPLICATE KEY UPDATE c2 = c2 + 1;
on_duplicate_clause
here isUPDATE c2 = c2 + 1
. See the MySQL documentation to find whichon_duplicate_clause
you can use with theON DUPLICATE KEY
clause.
Simple WHERE
clauses such as =, !=, >, >=, <, <=
are currently executed on the MySQL server.
The rest of the conditions and the LIMIT
sampling constraint are executed in ClickHouse only after the query to MySQL finishes.
Returned Value
A table object with the same columns as the original MySQL table.
In the INSERT
query to distinguish table function mysql(...)
from table name with column names list, you must use keywords FUNCTION
or TABLE FUNCTION
. See examples below.
Examples
Table in MySQL:
-> `int_id` INT NOT NULL AUTO_INCREMENT,
-> PRIMARY KEY (`int_id`));
mysql> INSERT INTO test (`int_id`, `float`) VALUES (1,2);
mysql> SELECT * FROM test;
+--------+-------+
| int_id | float |
| 1 | 2 |
+--------+-------+
Selecting data from ClickHouse:
┌─int_id─┬─float─┐
│ 1 │ 2 │
└────────┴───────┘
Replacing and inserting:
┌─int_id─┬─float─┐
│ 1 │ 3 │
│ 2 │ 4 │
See Also