ClickHouse/docs/fa/engines/table_engines/integrations/mysql.md
2020-04-04 12:15:31 +03:00

4.7 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true d734a8e46d 33 MySQL

Mysql

موتور خروجی زیر اجازه می دهد تا شما را به انجام SELECT نمایش داده شد در داده است که بر روی یک سرور خروجی از راه دور ذخیره می شود.

ایجاد یک جدول

CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(
    name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1] [TTL expr1],
    name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2] [TTL expr2],
    ...
) ENGINE = MySQL('host:port', 'database', 'table', 'user', 'password'[, replace_query, 'on_duplicate_clause']);

مشاهده شرح مفصلی از CREATE TABLE پرس و جو.

ساختار جدول می تواند از ساختار جدول خروجی زیر اصلی متفاوت است:

  • نام ستون باید همان است که در جدول خروجی زیر اصلی باشد, اما شما می توانید تنها برخی از این ستون ها و در هر جهت استفاده.
  • انواع ستون ممکن است از کسانی که در جدول خروجی زیر اصلی متفاوت است. فاحشه خانه تلاش می کند تا بازیگران ارزش ها را به انواع داده های کلیک.

پارامترهای موتور

  • host:port — MySQL server address.

  • database — Remote database name.

  • table — Remote table name.

  • user — MySQL user.

  • password — User password.

  • replace_query — Flag that converts INSERT INTO نمایش داده شد به REPLACE INTO. اگر replace_query=1, پرس و جو جایگزین شده است.

  • on_duplicate_clause — The ON DUPLICATE KEY on_duplicate_clause بیان است که به اضافه INSERT پرس و جو.

    مثال: 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 بند بند.

    برای مشخص کردن on_duplicate_clause شما نیاز به تصویب 0 به replace_query پارامتر. اگر شما به طور همزمان عبور replace_query = 1 و on_duplicate_clause, تاتر تولید یک استثنا.

ساده WHERE بند هایی مانند =, !=, >, >=, <, <= بر روی سرور خروجی زیر اجرا شده است.

بقیه شرایط و LIMIT محدودیت نمونه برداری در محل کلیک تنها پس از پرس و جو به پس از اتمام خروجی زیر اجرا شده است.

مثال طریقه استفاده

جدول در خروجی زیر:

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

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

mysql> select * from test;
+------+----------+-----+----------+
| int_id | int_nullable | float | float_nullable |
+------+----------+-----+----------+
|      1 |         NULL |     2 |           NULL |
+------+----------+-----+----------+
1 row in set (0,00 sec)

جدول در تاتر, بازیابی داده ها از جدول خروجی زیر ایجاد شده در بالا:

CREATE TABLE mysql_table
(
    `float_nullable` Nullable(Float32),
    `int_id` Int32
)
ENGINE = MySQL('localhost:3306', 'test', 'test', 'bayonet', '123')
SELECT * FROM mysql_table
┌─float_nullable─┬─int_id─┐
│           ᴺᵁᴸᴸ │      1 │
└────────────────┴────────┘

همچنین نگاه کنید

مقاله اصلی