ClickHouse/docs/fr/database_engines/mysql.md
2020-03-30 15:48:55 +03:00

3.8 KiB

machine_translated
true

MySQL

Permet de se connecter à des bases de données sur un serveur MySQL distant et INSERT et SELECT requêtes pour échanger des données entre Clickhouse et MySQL.

Le MySQL moteur de base de données traduire les requêtes sur le serveur MySQL afin que vous puissiez effectuer des opérations telles que SHOW TABLES ou SHOW CREATE TABLE.

Vous ne pouvez pas effectuer les requêtes suivantes:

  • RENAME
  • CREATE TABLE
  • ALTER

La création d'une Base de données

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

Les Paramètres Du Moteur

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

Types De Données Soutien

MySQL ClickHouse
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 Date
DATETIME, TIMESTAMP DateTime
BINARY FixedString

Tous les autres types de données MySQL sont convertis en Chaîne.

Nullable est pris en charge.

Exemples D'utilisation

Table dans 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 données dans ClickHouse, échange de données avec le serveur 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 │
└────────┴───────┘

Article Original