YDB CLI - Начало работы

Предварительные требования

Для выполнения команд через CLI вам потребуются параметры соединения с базой данных, которые вы можете получить при ее создании:

Также вам может потребоваться токен или логин/пароль, если база данных требует аутентификации. Для успешного исполнения сценария ниже вам нужно выбрать вариант их сохранения в переменной окружения.

Установка CLI

Установите YDB CLI, как описано в статье Установка YDB CLI.

Проверьте успешность установки YDB CLI запуском с параметром --help:

ydb --help

В ответ должно быть выведено приветственное сообщение, краткое описание синтаксиса, и перечень доступных команд:

YDB client

Usage: ydb [options...] <subcommand>

Subcommands:
ydb
├─ config                   Manage YDB CLI configuration
│  └─ profile               Manage configuration profiles
│     ├─ activate           Activate specified configuration profile (aliases: set)
...

Все возможности работы со встроенной справкой YDB CLI описаны в статье Встроенная справка справочника по YDB CLI.

Проверьте успешность соединения

Для проверки успешности соединения можно использовать команду получения перечня объектов в базе данных scheme ls:

ydb -e <endpoint> -d <database> scheme ls

При успешном выполнении команды в ответ будет выведен перечень объектов в базе данных. Если вы еще не создавали ничего в БД, то вывод будет содержать только системные каталоги .sys и .sys_health, в которых находятся диагностические представления YDB.

Например, если:

  • Эндпоинт: grpc://ydb.example.com:2136;
  • Имя базы данных: /john/db1;
  • База данных не требует аутентификации, или задана нужная переменная окружения, как описано здесь;
  • База данных только что создана и не содержит объектов;

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

ydb -e grpc://ydb.example.com:2136 -d /john/db1 scheme ls

Результат выполнения на только что созданной пустой базе данных:

.sys_health .sys

Соединение с локальной БД

Если вы развернули локальную YDB по сценарию самостоятельного развертывания в Docker с предложенной конфигурацией, то соединение с ней можно проверить командой:

ydb -e grpc://localhost:2136 -d /local scheme ls

Создание профиля соединения

Чтобы не писать параметры соединения каждый раз при вызове YDB CLI, воспользуйтесь профилем. Создание предложенного ниже профиля позволит вам также копировать дальнейшие команды через буфер обмена без их редактирования, вне зависимости от того, на какой базе данных вы проходите сценарий начала работы.

Создайте профиль db1 следующей командой:

ydb config profile create db1 -e <endpoint> -d <database>

В качестве параметров используйте проверенные на предыдущем шаге значения. Например, для создания профиля соединения с локальной базой данных YDB, созданной по сценарию самостоятельного развертывания в Docker, выполните следующую команду:

ydb config profile create db1 -e grpc://localhost:2136 -d /local

Проверьте работоспособность профиля командой scheme ls:

ydb -p db1 scheme ls

Исполнение YQL скрипта

Команда YDB CLI yql позволяет выполнить любую команду (как DDL, так и DML) на языке YQL - диалекте SQL, поддерживаемом YDB:

ydb -p <profile_name> yql -s <yql_request>

Например:

  • Создание таблицы:

    ydb -p db1 yql -s "create table t1( id uint64, primary key(id))"
    
  • Добавление записи:

    ydb -p db1 yql -s "insert into t1(id) values (1)"
    
  • Выборка данных:

    ydb -p db1 yql -s "select * from t1"
    

Если вы получаете ошибку Profile db1 does not exist, значит вы не создали его на предыдущем шаге.

Специализированные команды CLI

Исполнение команд через ydb yql является хорошим простым способом начать работу. Однако, YQL-интерфейс поддерживает неполный набор возможных функций, доступных на YDB API, а также работает не самым эффективным образом из-за своей универсальности.

YDB CLI поддерживает отдельные команды с полным набором опций для всех существующих YDB API. Описание полного перечня команд находится в справочнике по YDB CLI.

Продолжение знакомства с YDB

Перейдите к статье YQL - Начало работы для продолжения знакомства с YDB.