バージョン 3.0.3。これはかなり大きな結果セットで、約 300 万行あります。
5 に答える
マーティンにはこの権利がほとんどあります。
TL/DR バージョンでは、"SQLScripts" プラグイン ("標準" プラグインの 1 つ) が必要であり、これらのメニュー オプションを選択できます: Session
> Scripts
>Store Result of SQL in File
バージョン 3.4 を見ています。この機能がいつ導入されたのかはわかりませんが、SQLScripts プラグインがインストールされておらず、インストールできない場合は、アップグレードする必要があるかもしれません。
新しいプラグインのインストール手順は、http ://squirrel-sql.sourceforge.net/user-manual/quick_start.html#plugins にあります。
ただし、Squirrel の新規インストールを実行している場合は、インストール中に「SQLScripts」プラグインを選択するだけで済みます。
長いバージョンは次のとおりです。
クエリを実行する
データベースに接続します。タブをクリックし
SQL
ます。クエリを入力します。実行ボタン (またはCtrl-Enter
) を押します。ペインの下半分の結果領域に最初の 100 行程度が表示されます (
Limit Rows
オプションの構成方法によって異なります)。完全な結果をエクスポートする
メニューを開き
Session
ます。項目を選択しScripts
ます (この長いメニューのほぼ下部にあります)。を選択しStore Result of SQL in File
ます。これにより、エクスポートを構成できるダイアログ ボックスが開きます。
Export the complete result set
すべてを取得するために確認してください。
300 万行の結果セットでこれを試したことはありませんが、Squirrel がデータをディスクにストリーミングしているように見えることに気付きました (書き込む前にすべてをメモリに読み込むのではなく)。任意の大きなファイルでは機能しません。
Ctrl-T
を使用してツール ポップアップを呼び出し、 を選択すると、ファイルに直接エクスポートできることに注意してくださいsql2file
。
私はこれを行う方法を見つけました.Squirrelにはこれに対する素晴らしいサポートがあります. SQL select を実行します (エクスポーターは 100 行の制限を無視しますが、心配しないでください)。次に、メイン メニューで、[セッション]、[スクリプト]、[SQL の結果をファイルに保存] の順に選択します。この機能はデフォルトでは存在しない可能性があり、一部の標準プラグインに存在する可能性があります (ただし、デフォルトではインストールされません)。ただし、どのプラグインかはわかりません。
また、SquirrelSQL を使用して SQL クエリの結果を CSV ファイルにエクスポートしたいと考えていました。ただし、変更ファイルによると、この機能は SquirrelSql 3.3.0 でもサポートされていないようです。
これまでのところ、テーブルを右クリックして、SQLクエリの「結果テーブル」に表示されているデータのみをエクスポートすることができました> CSVにエクスポート. テーブル サイズはデフォルトで 100 行で、CSV エクスポートも同様です。[Session Properties] > [SQL] > [Limit rows] でテーブル サイズを変更できます。たとえば、サイズを 10000 に変更すると、エクスポートにも 10000 行が含まれます。問題は、SquirrelSql が非常に大きな結果セット (数百万行) をどのように処理するかということです...
GUIから実行します。
COPY (SELECT * FROM some_table) TO '/some/path/some_table.csv' WITH CSV HEADER
Squirrel 3.5.0 の使用 「SQL 結果をファイルとして保存」は、単純な Select クエリしかない場合に最適です。パラメータを持つより複雑なものは機能しません。600,000 行以上の結果を CSV ファイルにエクスポートしようとしても、失敗する可能性があります。