Comment puis-je stocker le résultat D'une requête SQL dans un fichier CSV en utilisant Squirrel?

la Version 3.0.3. C'est un assez grand ensemble de résultats, environ 3 millions de lignes.

18
demandé sur Nakilon 2010-02-22 23:46:00

5 réponses

Martin a à peu près ce droit.

La TL/DR version, c'est que vous avez besoin de la "SQLScripts" plugin (qui est l'un des "standard" plugins), et puis vous pouvez sélectionner ces options de menu: Session>Scripts>Store Result of SQL in File

je regarde la version 3.4. Je ne sais pas quand cette fonctionnalité a été introduite, mais vous pourriez avoir besoin de mettre à jour si vous n'avez pas et ne pouvez pas installer le plugin SQLScripts.

les Instructions pour installer un nouveau plugin se trouvent à: http://squirrel-sql.sourceforge.net/user-manual/quick_start.html#plugins

mais si vous effectuez une nouvelle installation de Squirrel vous pouvez simplement sélectionner le plugin "SQLScripts" pendant l'installation.

Voici la version longue:


  1. lancer la requête

    se Connecter à la base de données. Cliquez sur le SQL onglet. Saisissez votre requête. Frapper le bouton exécuter (ou Ctrl-Enter).

    vous devriez voir les 100 premières lignes ou ainsi dans la zone des résultats dans la moitié inférieure du panneau (selon la façon dont vous avez configuré le Limit Rows option).

  2. Exporter résultats

    Ouvrir Session menu. Sélectionnez Scripts item (presque en bas de cette longue menu). Sélectionnez Store Result of SQL in File.

    ouvre une boîte de dialogue où vous pouvez configurer votre export. Assurer vous cochez Export the complete result set pour obtenir tout.


Je n'ai pas essayé cela avec un jeu de 3 millions de lignes de résultats, mais J'ai remarqué que Squirrel semble diffuser les données sur le disque (plutôt que de les lire en mémoire avant d'écrire), donc je ne vois aucune raison pour laquelle cela ne fonctionnerait pas avec un fichier arbitrairement grand.

Notez que vous pouvez exporter directement vers un fichier en utilisant Ctrl-T pour invoquer les outils popup et en sélectionnant sql2file.

24
répondu Rod 2012-10-16 23:06:19

j'ai trouvé un moyen de le faire, il y a un bon support pour ça chez L'Écureuil. Exécutez le SQL select (la limite de 100 lignes sera ignorée par l'Exportateur, ne vous inquiétez pas). Ensuite, dans le menu principal, choisissez Session, Scripts, stocker le résultat de SQL dans le fichier. Cette fonctionnalité peut ne pas être présente par défaut, elle peut être présente dans certains plugin standard (mais pas installée par défaut). Je ne sais pas quel plugin.

5
répondu Martin Vysny 2012-06-28 11:35:09

Exécuter à partir de votre interface graphique:

COPY (SELECT * FROM some_table) TO '/some/path/some_table.csv' WITH CSV HEADER

3
répondu thetaiko 2010-02-23 02:05:54

je voulais aussi exporter les résultats de la requête SQL vers le fichier CSV en utilisant SquirrelSQL. Cependant, selon changements fichier il semble que cette fonctionnalité n'est pas supportée même dans SquirrelSql 3.3.0.

jusqu'à présent j'ai été capable d'exporter seulement les données indiquées dans la 'table de résultat' de la requête SQL par le clic droit sur la table > Exporter vers CSV. La taille de la table est par défaut de 100 lignes, tout comme L'exportation de CSV. Vous pouvez modifier la taille de la table dans Session Properties > SQL > Limit rows. E. g. changement la taille à 10000 et votre exportation contiendra également 10000 lignes. La question est, comment va SquirrelSql traiter avec vraiment grands ensembles de résultats (millions de lignes)...

3
répondu Michal Vician 2011-12-03 15:10:29

À L'Aide D'Écureuil 3.5.0 Le "résultat de stockage de SQL en tant que Fichier" est grand si vous avez seulement une requête de sélection simple. Plus complexe avec des paramètres ne fonctionnent pas. Même essayer d'exporter un résultat de plus de 600 000 lignes vers un fichier CSV peut également échouer.

0
répondu user2649863 2013-08-04 05:01:18