Начало работы с gsqlcmd

Начало работы с gsqlcmd

gsqlcmd - это инструмент командной строки для выполнения сценариев SQL, загрузки, преобразования, импорта и экспорта данных.

Например, следующие команды импортируют дивиденды AAPL с сайта www.nasdaq.com в базу данных:

gsqlcmd download https://www.nasdaq.com/symbol/AAPL/dividend-history dividends.htm

gsqlcmd convert "SELECT 'AAPL' AS Symbol, RecordDate, CashAmount FROM dividends.htm" dividends.csv

gsqlcmd import db dividends.csv /table=dividends /merge

Эти операции можно сделать даже в одной команде import:

gsqlcmd import db "SELECT 'AAPL' AS Symbol, RecordDate, CashAmount FROM https://www.nasdaq.com/symbol/AAPL/dividend-history" /table=dividends /merge

gsqlcmd позволяет легко автоматизировать операции с помощью пакетных файлов и файлов задач.

Например, можно импортировать дивиденды для всех тикеров из файла symbols.txt с помощью команды:

gsqlcmd import db "SELECT :symbol AS Symbol, RecordDate, CashAmount FROM https://www.nasdaq.com/symbol/{symbol}/dividend-history" /table=dividends /merge /taskfile=symbols.txt

В приведенных выше примерах gsqlcmd извлекает данные со страницы HTML.

Также утилита позволяет извлекать данные из обычного текста, CSV, XML и JSON.

В приведенных выше примерах используется именованная строка подключения "db".

Это может быть база данных SQL Server, Oracle, DB2, MySQL, PostgreSQL, SQLite или на любой другой поддерживаемой платформе.

gsqlcmd поддерживает выполнение сценариев SQL для любой поддерживаемой платформы. Утилита учитывает особенности платформы и диалекты SQL.

Таким образом, вы можете единообразно запускать скрипты для любой платформы, например, с помощью такой команды:

gsqlcmd exec db application-install.sql

Вы можете использовать gsqlcmd для преобразования и экспорта данных в обычный текст, CSV, HTML, XML и JSON.

Например:

gsqlcmd exec db "SELECT * FROM dividends" dividends.txt
gsqlcmd exec db "SELECT * FROM dividends" dividends.csv
gsqlcmd exec db "SELECT * FROM dividends" dividends.htm
gsqlcmd exec db "SELECT * FROM dividends" dividends.xml
gsqlcmd exec db "SELECT * FROM dividends" dividends.json

Вы можете настроить результаты, используя множество опций форматирования и шаблонов.

Типичные задачи предполагают использование режимов exec для экспорта данных и import для импорта.

Редакция gsqlcmd Enterprise предлагает еще более эффективное решение.

Вы можете экспортировать и импортировать данные одной командой:

gsqlcmd db1 import "db2::SELECT * FROM dividends" /table=dividends /merge

Более того, базы данных db1 и db2 могут находиться на разных платформах баз данных, таких, как например SQL Server и MySQL.

При этом, таблицы баз данных могут иметь разные структуры и имена столбцов.

Мы рекомендуем начать со знакомства с примерами из состава загружаемого пакета gsqlcmd. Вы найдете множество шаблонов для ваших решений.

Далее обратитесь к следующим разделам для решения ваших конкретных задач: