mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-17 03:42:48 +00:00
cd14f9ebcb
* split up select.md * array-join.md basic refactoring * distinct.md basic refactoring * format.md basic refactoring * from.md basic refactoring * group-by.md basic refactoring * having.md basic refactoring * additional index.md refactoring * into-outfile.md basic refactoring * join.md basic refactoring * limit.md basic refactoring * limit-by.md basic refactoring * order-by.md basic refactoring * prewhere.md basic refactoring * adjust operators/index.md links * adjust sample.md links * adjust more links * adjust operatots links * fix some links * adjust aggregate function article titles * basic refactor of remaining select clauses * absolute paths in make_links.sh * run make_links.sh * remove old select.md locations * translate docs/es * translate docs/fr * translate docs/fa * remove old operators.md location * change operators.md links * adjust links in docs/es * adjust links in docs/es * minor texts adjustments * wip * update machine translations to use new links * fix changelog * es build fixes * get rid of some select.md links * temporary adjust ru links * temporary adjust more ru links * improve curly brace handling * adjust ru as well * fa build fix * ru link fixes * zh link fixes * temporary disable part of anchor checks
48 lines
2.6 KiB
Markdown
48 lines
2.6 KiB
Markdown
---
|
||
machine_translated: true
|
||
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
|
||
toc_priority: 46
|
||
toc_title: "\u0648\u0631\u0648\u062F\u06CC"
|
||
---
|
||
|
||
# ورودی {#input}
|
||
|
||
`input(structure)` - تابع جدول که اجازه می دهد تا به طور موثر تبدیل و قرار دادن داده های ارسال شده به
|
||
سرور با ساختار داده شده به جدول با ساختار دیگر.
|
||
|
||
`structure` - ساختار داده ها در قالب زیر به سرور ارسال می شود `'column1_name column1_type, column2_name column2_type, ...'`.
|
||
به عنوان مثال, `'id UInt32, name String'`.
|
||
|
||
این تابع را می توان تنها در `INSERT SELECT` پرس و جو و تنها یک بار اما در غیر این صورت مانند تابع جدول معمولی رفتار می کنند
|
||
(مثلا, این را می توان در زیرخاکری مورد استفاده قرار, و غیره.).
|
||
|
||
داده ها را می توان به هیچ وجه مانند عادی ارسال می شود `INSERT` پرس و جو و گذشت در هر موجود [قالب](../../interfaces/formats.md#formats)
|
||
که باید در پایان پرس و جو مشخص شود (بر خلاف عادی `INSERT SELECT`).
|
||
|
||
ویژگی اصلی این تابع این است که وقتی سرور داده ها را از مشتری دریافت می کند به طور همزمان تبدیل می کند
|
||
با توجه به لیست عبارات در `SELECT` بند و درج به جدول هدف. جدول موقت
|
||
با تمام داده های منتقل شده ایجاد نمی شود.
|
||
|
||
**مثالها**
|
||
|
||
- اجازه دهید `test` جدول دارای ساختار زیر است `(a String, b String)`
|
||
و داده ها در `data.csv` دارای ساختار متفاوت `(col1 String, col2 Date, col3 Int32)`. پرسوجو برای درج
|
||
داده ها از `data.csv` به `test` جدول با تبدیل همزمان به نظر می رسد مثل این:
|
||
|
||
<!-- -->
|
||
|
||
``` bash
|
||
$ cat data.csv | clickhouse-client --query="INSERT INTO test SELECT lower(col1), col3 * col3 FROM input('col1 String, col2 Date, col3 Int32') FORMAT CSV";
|
||
```
|
||
|
||
- اگر `data.csv` حاوی اطلاعات از ساختار مشابه `test_structure` به عنوان جدول `test` سپس این دو نمایش داده شد برابر هستند:
|
||
|
||
<!-- -->
|
||
|
||
``` bash
|
||
$ cat data.csv | clickhouse-client --query="INSERT INTO test FORMAT CSV"
|
||
$ cat data.csv | clickhouse-client --query="INSERT INTO test SELECT * FROM input('test_structure') FORMAT CSV"
|
||
```
|
||
|
||
[مقاله اصلی](https://clickhouse.tech/docs/en/query_language/table_functions/input/) <!--hide-->
|