Начало работы с 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. Вы найдете множество шаблонов для ваших решений.
Далее обратитесь к следующим разделам для решения ваших конкретных задач: