ClickHouse/docs/fr/sql-reference/table-functions/input.md
Ivan Blinkov cd14f9ebcb
SQL reference refactoring (#10857)
* 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
2020-05-15 07:34:54 +03:00

2.2 KiB

machine_translated machine_translated_rev toc_priority toc_title
true 72537a2d52 46 entrée

entrée

input(structure) - fonction de table qui permet effectivement convertir et insérer des données envoyées à la serveur avec une structure donnée à la table avec une autre structure.

structure - structure de données envoyées au serveur dans le format suivant 'column1_name column1_type, column2_name column2_type, ...'. Exemple, 'id UInt32, name String'.

Cette fonction peut être utilisée uniquement dans INSERT SELECT requête et une seule fois mais se comporte autrement comme une fonction de table ordinaire (par exemple, il peut être utilisé dans la sous-requête, etc.).

Les données peuvent être envoyées de quelque manière que ce soit comme pour ordinaire INSERT requête et passé dans tout disponible format qui doit être spécifié à la fin de la requête (contrairement à l'ordinaire INSERT SELECT).

La caractéristique principale de cette fonction est que lorsque le serveur reçoit des données du client il les convertit simultanément selon la liste des expressions dans le SELECT clause et insère dans la table cible. Table temporaire avec toutes les données transférées n'est pas créé.

Exemple

  • Laissez le test le tableau a la structure suivante (a String, b String) et les données data.csv a une structure différente (col1 String, col2 Date, col3 Int32). Requête pour insérer les données de l' data.csv dans le test table avec conversion simultanée ressemble à ceci:
$ cat data.csv | clickhouse-client --query="INSERT INTO test SELECT lower(col1), col3 * col3 FROM input('col1 String, col2 Date, col3 Int32') FORMAT CSV";
  • Si data.csv contient les données de la même structure test_structure comme la table test puis ces deux requêtes sont égales:
$ 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"

Article Original