mirror of
https://github.com/hanzoai/datastore.git
synced 2026-09-26 13:55:07 +00:00
2.2 KiB
2.2 KiB
machine_translated, machine_translated_rev, toc_priority, toc_title
| machine_translated | machine_translated_rev | toc_priority | toc_title |
|---|---|---|---|
| true | 72537a2d527c63c07aa5d2361a8829f3895cf2bd | 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"