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