ClickHouse/docs/fa/sql_reference/statements/insert_into.md
2020-04-04 12:15:31 +03:00

4.8 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true d734a8e46d 34 INSERT INTO

INSERT

اضافه کردن داده ها.

قالب پرس و جو عمومی:

INSERT INTO [db.]table [(c1, c2, c3)] VALUES (v11, v12, v13), (v21, v22, v23), ...

پرسوجو میتواند فهرستی از ستونها را برای درج مشخص کند [(c1, c2, c3)]. در این مورد, بقیه ستون ها با پر:

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

اگر _مرحلهای دقیق = 1 ستون هایی که ندارند DEFAULT تعریف شده باید در پرس و جو ذکر شده است.

داده ها را می توان به درج در هر گذشت قالب پشتیبانی شده توسط فاحشه خانه. قالب باید به صراحت در پرس و جو مشخص شود:

INSERT INTO [db.]table [(c1, c2, c3)] FORMAT format_name data_set

For example, the following query format is identical to the basic version of INSERT … VALUES:

INSERT INTO [db.]table [(c1, c2, c3)] FORMAT Values (v11, v12, v13), (v21, v22, v23), ...

تاتر حذف تمام فضاها و خوراک یک خط (در صورتی که وجود دارد) قبل از داده ها. هنگام تشکیل یک پرس و جو, توصیه می کنیم قرار دادن داده ها بر روی یک خط جدید پس از اپراتورهای پرس و جو (این مهم است که اگر داده ها با فضاهای شروع می شود).

مثال:

INSERT INTO t FORMAT TabSeparated
11  Hello, world!
22  Qwerty

شما می توانید داده ها را به طور جداگانه از پرس و جو با استفاده از مشتری خط فرمان یا رابط اچ تی پی وارد کنید. برای کسب اطلاعات بیشتر به بخش مراجعه کنید “واسط”.

قیدها

اگر جدول قیدها, their expressions will be checked for each row of inserted data. If any of those constraints is not satisfied — server will raise an exception containing constraint name and expression, the query will be stopped.

قرار دادن نتایج SELECT

INSERT INTO [db.]table [(c1, c2, c3)] SELECT ...

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

هیچ یک از فرمت های داده به جز مقادیر اجازه تنظیم مقادیر به عبارات مانند now(), 1 + 2 و به همین ترتیب. فرمت ارزش اجازه می دهد تا استفاده محدود از عبارات, اما این توصیه نمی شود, چرا که در این مورد کد کم است برای اجرای خود استفاده می شود.

نمایش داده شد دیگر برای تغییر قطعات داده ها پشتیبانی نمی شوند: UPDATE, DELETE, REPLACE, MERGE, UPSERT, INSERT UPDATE. با این حال, شما می توانید داده های قدیمی با استفاده از حذف ALTER TABLE ... DROP PARTITION.

FORMAT بند باید در پایان پرس و جو مشخص شود اگر SELECT بند شامل تابع جدول ورودی().

ملاحظات عملکرد

INSERT داده های ورودی را با کلید اصلی مرتب می کند و توسط یک کلید پارتیشن به پارتیشن تقسیم می شود. اگر داده ها را به چندین پارتیشن در یک بار وارد کنید می تواند به طور قابل توجهی عملکرد را کاهش دهد INSERT پرس و جو. برای جلوگیری از این:

  • اضافه کردن داده ها در دسته نسبتا بزرگ, مانند 100,000 ردیف در یک زمان.
  • داده های گروه توسط یک کلید پارتیشن قبل از بارگذاری به کلیک.

عملکرد کاهش نخواهد یافت اگر:

  • داده ها در زمان واقعی اضافه شده است.
  • شما داده ها است که معمولا بر اساس زمان طبقه بندی شده اند را بارگذاری کنید.

مقاله اصلی