* 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
2.6 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | 72537a2d52 |
46 | ورودی |
ورودی
input(structure)
- تابع جدول که اجازه می دهد تا به طور موثر تبدیل و قرار دادن داده های ارسال شده به
سرور با ساختار داده شده به جدول با ساختار دیگر.
structure
- ساختار داده ها در قالب زیر به سرور ارسال می شود 'column1_name column1_type, column2_name column2_type, ...'
.
به عنوان مثال, 'id UInt32, name String'
.
این تابع را می توان تنها در INSERT SELECT
پرس و جو و تنها یک بار اما در غیر این صورت مانند تابع جدول معمولی رفتار می کنند
(مثلا, این را می توان در زیرخاکری مورد استفاده قرار, و غیره.).
داده ها را می توان به هیچ وجه مانند عادی ارسال می شود INSERT
پرس و جو و گذشت در هر موجود قالب
که باید در پایان پرس و جو مشخص شود (بر خلاف عادی INSERT SELECT
).
ویژگی اصلی این تابع این است که وقتی سرور داده ها را از مشتری دریافت می کند به طور همزمان تبدیل می کند
با توجه به لیست عبارات در SELECT
بند و درج به جدول هدف. جدول موقت
با تمام داده های منتقل شده ایجاد نمی شود.
مثالها
- اجازه دهید
test
جدول دارای ساختار زیر است(a String, b String)
و داده ها درdata.csv
دارای ساختار متفاوت(col1 String, col2 Date, col3 Int32)
. پرسوجو برای درج داده ها ازdata.csv
بهtest
جدول با تبدیل همزمان به نظر می رسد مثل این:
$ 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
سپس این دو نمایش داده شد برابر هستند:
$ 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"