mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-19 22:22:00 +00:00
2.2 KiB
2.2 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | d734a8e46d |
46 | 入力 |
入力
input(structure)
-テーブル関数に送信されたデータを効果的に変換して挿入できるようにする
別の構造を持つテーブルに与えられた構造を持つサーバー。
structure
-次の形式でサーバーに送信されるデータの構造 'column1_name column1_type, column2_name column2_type, ...'
.
例えば, 'id UInt32, name String'
.
この関数は、以下でのみ使用できます INSERT SELECT
query and only once but otherwiseは通常のテーブル関数のように動作します
(たとえば、サブクエリなどで使用することができます。).
データを送ることができ、そのような通常の INSERT
利用できる照会および渡される 書式
これは、クエリの最後に指定する必要があります(通常とは異なり INSERT SELECT
).
この機能はサーバからデータを受け取clientで同時に変換して
式のリストによると、 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"