ClickHouse/docs/es/engines/database_engines/mysql.md
2020-04-04 12:15:31 +03:00

4.1 KiB

machine_translated machine_translated_rev toc_priority toc_title
true 3e185d24c9 30 MySQL

Mysql

Permite conectarse a bases de datos en un servidor MySQL remoto y realizar INSERT y SELECT consultas para intercambiar datos entre ClickHouse y MySQL.

El MySQL motor de base de datos traducir consultas al servidor MySQL para que pueda realizar operaciones tales como SHOW TABLES o SHOW CREATE TABLE.

No puede realizar las siguientes consultas:

  • RENAME
  • CREATE TABLE
  • ALTER

Creación de una base de datos

CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster]
ENGINE = MySQL('host:port', 'database', 'user', 'password')

Parámetros del motor

  • host:port — MySQL server address.
  • database — Remote database name.
  • user — MySQL user.
  • password — User password.

Soporte de tipos de datos

MySQL Haga clic en Casa
UNSIGNED TINYINT UInt8
TINYINT Int8
UNSIGNED SMALLINT UInt16
SMALLINT Int16
UNSIGNED INT, UNSIGNED MEDIUMINT UInt32
INT, MEDIUMINT Int32
UNSIGNED BIGINT UInt64
BIGINT Int64
FLOAT Float32
DOUBLE Float64
DATE Fecha
DATETIME, TIMESTAMP FechaHora
BINARY Cadena fija

Todos los demás tipos de datos MySQL se convierten en Cadena.

NULL se admite.

Ejemplos de uso

Tabla en MySQL:

mysql> USE test;
Database changed

mysql> CREATE TABLE `mysql_table` (
    ->   `int_id` INT NOT NULL AUTO_INCREMENT,
    ->   `float` FLOAT NOT NULL,
    ->   PRIMARY KEY (`int_id`));
Query OK, 0 rows affected (0,09 sec)

mysql> insert into mysql_table (`int_id`, `float`) VALUES (1,2);
Query OK, 1 row affected (0,00 sec)

mysql> select * from mysql_table;
+------+-----+
| int_id | value |
+------+-----+
|      1 |     2 |
+------+-----+
1 row in set (0,00 sec)

Base de datos en ClickHouse, intercambiando datos con el servidor MySQL:

CREATE DATABASE mysql_db ENGINE = MySQL('localhost:3306', 'test', 'my_user', 'user_password')
SHOW DATABASES
┌─name─────┐
│ default  │
│ mysql_db │
│ system   │
└──────────┘
SHOW TABLES FROM mysql_db
┌─name─────────┐
│  mysql_table │
└──────────────┘
SELECT * FROM mysql_db.mysql_table
┌─int_id─┬─value─┐
│      1 │     2 │
└────────┴───────┘
INSERT INTO mysql_db.mysql_table VALUES (3,4)
SELECT * FROM mysql_db.mysql_table
┌─int_id─┬─value─┐
│      1 │     2 │
│      3 │     4 │
└────────┴───────┘

Artículo Original