Версия 3.0.3. Это довольно большой результат, около 3 миллионов строк.
Как сохранить результат SQL-запроса в файле CSV с помощью Squirrel?
Ответ 1
Мартин в значительной степени имеет это право.
Версия TL/DR состоит в том, что вам нужен плагин "SQLScripts" (который является одним из "стандартных" плагинов), а затем вы можете выбрать следующие параметры меню: 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
, чтобы получить все.
Я не пробовал это с набором результатов из 3 миллионов строк, но я заметил, что Squirrel, кажется, передает данные на диск (вместо того, чтобы читать все это в памяти перед записью), поэтому я не вижу никакой причины почему он не будет работать с произвольно большим файлом.
Обратите внимание, что вы можете экспортировать непосредственно в файл с помощью Ctrl-T
, чтобы вызвать всплывающее окно инструментов и выбрав sql2file
.
Ответ 2
Я нашел способ сделать это, есть хорошая поддержка для этого в Squirrel. Запустите выбор SQL (предел 100 строк будет проигнорирован экспортером, не беспокойтесь). Затем в главном меню выберите "Сессия", "Сценарии", "Сохранить результат SQL в файле". Эта функция может отсутствовать по умолчанию, она может присутствовать в каком-то стандартном плагине (но не установлена по умолчанию). Однако я не знаю, какой плагин.
Ответ 3
Выполнить из графического интерфейса пользователя:
COPY (SELECT * FROM some_table) TO '/some/path/some_table.csv' WITH CSV HEADER
Ответ 4
Я также хотел экспортировать результаты SQL-запроса в CSV файл, используя SquirrelSQL. Однако согласно файл изменений кажется, что эта функция не поддерживается даже в SquirrelSql 3.3.0.
До сих пор мне удалось экспортировать только данные, показанные в "таблице результатов" SQL-запроса, щелкнув правой кнопкой мыши по таблице > Экспорт в CSV. Размер таблицы по умолчанию составляет 100 строк, а также экспорт CSV. Вы можете изменить размер таблицы в свойствах сеансa > SQL > ограничить строки. Например. измените размер до 10000, и ваш экспорт также будет содержать 10000 строк. Вопрос в том, как SquirrelSql справится с действительно большими наборами результатов (миллионы строк)...
Ответ 5
Использование Squirrel 3.5.0 "Сохранить результат SQL как файл" отлично, если у вас есть простой запрос Select. Более сложный с параметрами не работает. Даже попытка экспортировать результат из 600 000 + строк в файл CSV также может потерпеть неудачу.