gsqlcmd

Лучший в своем классе инструмент командной строки
для загрузки, конвертации, импорта, экспорта и синхронизации данных

1. Загрузка

gsqlcmd позволяет загружать данные с использованием URL-шаблонов с параметрами из файлов задач.

Например, следующая команда загружает исторические цены акций с Yahoo Finance:

set url="https://query1.finance.yahoo.com/v7/finance/chart/{symbol}?range=2y&interval=1d"

gsqlcmd download %url% {symbol}.json /taskfile=symbols.txt

Кроме того, gsqlcmd позволяет автоматически загружать следующие страницы.

Следующая команда загружает все цепочки опционов для каждого символа акций с Yahoo Finance:

set url="https://query1.finance.yahoo.com/v7/finance/options/{symbol}"

gsqlcmd download %url% *.JSON /taskfile=symbols.txt /pages=50

Вы можете загрузить список URL-адресов сразу.

Например, следующая команда извлекает URL-адреса из sitemap.xml и загружает все страницы:

gsqlcmd convert "SELECT loc FROM https://www.gsqlcmd.com/sitemap.xml" sitemap.txt /noHeaders

gsqlcmd download @sitemap.txt *.* /echoURL

2. Конвертация

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

Простая команда конвертации выглядит так:

gsqlcmd convert *.json *.csv

Однако вы можете использовать множество опций парсера и функций для настройки результата.

Например, следующая команда извлекает исторические цены акций, добавляя символ акции:

gsqlcmd convert *.json *.csv ^
        /rootpath=*.*.timestamp,*.*.*.quote,*.*.*.adjclose ^
        /add=Symbol=FileNameWithoutExtension()

Кроме того, вы можете использовать SQL-скрипты для загрузки и конвертации данных.

Например, следующая команда загружает и извлекает исторические цены акций с MSN Money:

gsqlcmd convert select.sql data.csv /taskfile=symbols.txt /echoURL ^
        /referer=https://www.msn.com/en-us/money/ ^
        /rootPath=Chart.Series /skippedNodes=IsStitched

Где select.sql содержит следующий код:

SELECT
    '{symbol}' AS [symbol]
    , T AS [date], Op AS [open], Hp AS [high], Lp AS [low], P AS [close], V AS volume
FROM
    https://finance-services.msn.com/Market.svc/ChartAndQuotes?symbols={symbol}&chartType=1y

3. Импорт

gsqlcmd позволяет генерировать SQL-команды INSERT, UPDATE, MERGE и DELETE.

Например, следующая команда создает команды merge для импорта исторических цен:

gsqlcmd make /merge db *.csv *.merge.sql /table=historical_prices /keys=symbol,date

Где db — это именованная строка подключения, определенная в файле конфигурации.

Вы можете генерировать команды для любой поддерживаемой платформы баз данных, включая SQL Server, MySQL и SQLite.

Затем вы можете выполнить сгенерированные SQL-команды для импорта данных:

gsqlcmd exec db *.merge.sql

Вы можете использовать режим единого импорта вместо пошаговых режимов загрузки, конвертации, создания и выполнения.

Например, вы можете импортировать исторические цены с Yahoo Finance в базу данных с помощью команды:

gsqlcmd import /merge db select.sql /table=historical_prices /taskfile=symbols.txt ^
        /rootpath=*.*.timestamp,*.*.*.quote

Где select.sql содержит следующий код:

SELECT
    '{symbol}' AS [symbol]
    , [Timestamp] AS [date]
    , [Open] AS [open], High AS [high], [Low] AS [low], [Close] AS [close]
    , Volume AS volume
FROM
    https://query1.finance.yahoo.com/v7/finance/chart/{symbol}?range=2y&interval=1d

Импорт данных из базы данных в базу данных имеет простую форму:

gsqlcmd import /merge db2 db1::dbo.historical_prices /table=historical_prices

Эта команда выбирает данные из dbo.historical_prices в db1 и объединяет их в historical_prices в db2.

Вы можете настроить выбор данных с помощью SQL-скриптов, например:

gsqlcmd import /merge db2 db1::select.sql /table=historical_prices

Где select.sql может содержать обычные SELECT-команды, а также EXEC-команды для выполнения хранимых процедур.

4. Экспорт

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

Например:

gsqlcmd exec db "SELECT * FROM historical_prices" historical_prices.csv

Также вы можете использовать шаблоны для настройки вывода в JSON, XML и HTML. Например:

gsqlcmd exec db export.sql sales.htm /template=template.htm /placeholder={sales}

Вы можете использовать эти функции на любой поддерживаемой платформе, включая работу с xp_cmdshell в Microsoft SQL Server.

5. Синхронизация

gsqlcmd позволяет реализовать различные сценарии синхронизации с использованием режимов exec и import.

Ниже приведен простой пример двусторонней синхронизации с использованием столбцов первичного ключа GUID в режиме merge:

gsqlcmd import db2 db1::table1 /table=table2 /merge

gsqlcmd import db1 db2::table2 /table=table1 /merge

Вы можете синхронизировать данные между несколькими базами данных на разных платформах.

Например, вы можете легко синхронизировать данные между онлайн MySQL и локальными базами данных SQL Server или Oracle.

Сравнение функций по редакциям

ФункцияБесплатная
версия
Стандартная
редакция
Корпоративная
редакция
Режимы
Выполнение SQL-запросов и скриптов
Экспорт данных из базы данных и конвертация веб- и текстовых данных в текст
Экспорт данных из базы данных в CSV, HTML, XML и JSON
Конвертация веб- и текстовых данных в CSV, HTML, XML и JSONдо 5 строк
Импорт данных из интернета и файлов в базы данныхдо 5 строк
Импорт данных из базы данных в базу данных с помощью одной командыxx
Синхронизация данных между базами данныхx
Создание команд INSERT, UPDATE, MERGE и DELETEдо 5 строк
Редактирование содержимого базы данных с использованием опций /toFiles и /fromFilesдо 5 строк
Загрузка файлов
Дополнительные опции
Текстовые и CSV файлы задач
Получение задач из баз данных с помощью <подключение>::<запрос>xx
Поддерживаемые платформы баз данных и источники данных
SQL Server, Oracle, DB2, MySQL, PostgreSQL, NuoDB, Snowflake
SQLite, SQL Server Compact, DBF, FoxPro, Excel
Обычный текст, CSV, HTML, XML, JSON
Лицензирование
Пожизненная лицензия, на один компьютер, USDБесплатно$40$90

Загрузка

Пакет загрузки gsqlcmd включает примеры.

Вы найдете готовые решения для импорта исторических цен, цепочек опционов и финансовых данных с Yahoo Finance и MSN Money.

Также попробуйте другие примеры. Обратитесь к онлайн-документации для подробного описания.

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

Загрузить

Этот веб-сайт использует куки. Продолжая использовать веб-сайт, Вы принимаете условия Политики защиты персональных данных.