Yandex.Cloud
  • Сервисы
  • Почему Yandex.Cloud
  • Сообщество
  • Решения
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Yandex Database
  • Начало работы
    • Обзор
    • Создание базы данных
    • YQL
      • Работа с данными
      • Работа с YDB CLI
      • Работа с YDB SDK
    • Document API
      • Работа с данными
      • Работа с инструментами AWS
        • Настройка окружения
  • Пошаговые инструкции
    • Работа с YDB CLI
      • Структура и описание команд YDB CLI
      • Получение информации об объекте схемы
      • Потоковое чтение таблицы
      • Работа со вторичными индексами
    • Использование плана запроса и AST
    • Управление базами данных
    • Подключение к базе данных
    • Управление таблицами
    • Чтение и запись данных
    • Работа со вторичными индексами
  • Работа с SDK
  • Концепции
    • Обзор
    • Модель данных и схема
    • Режимы работы Serverless и Dedicated
    • Типы данных
    • Транзакции
    • Вторичные индексы
    • Time to Live (TTL)
    • Термины и определения
    • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
    • Обзор
    • Бессерверный режим
    • Режим с выделенными инстансами
  • Рекомендации
    • Проектирование схемы
    • Партицирование таблиц
    • Вторичные индексы
    • Постраничный вывод
    • Загрузка больших объемов данных
    • Использование таймаутов
  • YDB API и справочник
    • Ограничения базы данных
    • Обработка ошибок в API
  • HTTP API, совместимый с Amazon DynamoDB
    • Справочник API
      • Все методы
      • Actions
        • BatchGetItem
        • BatchWriteItem
        • CreateTable
        • DeleteItem
        • DeleteTable
        • DescribeTable
        • GetItem
        • ListTables
        • PutItem
        • Query
        • Scan
        • TransactGetItems
        • TransactWriteItems
        • UpdateItem
      • Общие ошибки
  • Справочник YQL
    • Обзор
    • Типы данных
      • Простые
      • Опциональные
      • Контейнеры
      • Специальные
    • Синтаксис
      • Неподдерживаемые конструкции
      • Работа с текстовым представлением типов данных
      • Выражения
      • CREATE TABLE
      • DROP TABLE
      • INSERT INTO
      • UPSERT INTO
      • REPLACE INTO
      • UPDATE
      • DELETE
      • SELECT
      • GROUP BY
      • JOIN
      • FLATTEN
      • ACTION
      • DISCARD
      • PRAGMA
      • DECLARE
      • OVER, PARTITION BY и WINDOW
    • Встроенные функции
      • Базовые
      • Агрегатные
      • Оконные
      • Для работы со списками
      • Для работы со словарями
      • Для работы с JSON
      • Для работы со структурами
      • Для работы с типами
    • Предустановленные пользовательские функции
      • HyperScan
      • Pcre
      • Pire
      • Re2
      • String
      • Unicode
      • Datetime
      • Url
      • Ip
      • Digest
      • Math
      • Histogram
    • Работа с текстовым представлением типов данных
  • Туториал YQL
    • Обзор
    • Создание таблицы
    • Добавление данных в таблицу
    • Выборка данных из всех колонок
    • Выборка данных из определенных колонок
    • Сортировка и фильтрация
    • Агрегирование данных
    • Дополнительные условия выборки
    • Объединение таблиц с помощью JOIN
    • Вставка и модификация данных с помощью REPLACE
    • Вставка и модификация данных с помощью UPSERT
    • Вставка данных с помощью INSERT
    • Обновление данных с помощью UPDATE
    • Удаление данных
    • Добавление и удаление колонок
    • Удаление таблицы
  • Обслуживание
    • Резервное копирование
  • Диагностика
    • Системные таблицы
  • Вопросы и ответы
    • Общие вопросы
    • Ошибки
    • YQL
    • Все вопросы на одной странице
  • Публичные материалы
  1. Начало работы
  2. YQL
  3. Работа с данными

Работа с данными

  • Перед началом работы
  • Создание таблицы
  • Добавление строк
  • Замена строк
  • Удаление строк
  • Выбор строк
  • Удаление таблицы

После создания базы данных выполните базовые YQL-запросы: создайте таблицу, работайте с данными таблицы и удалите её. Вы можете использовать консоль управления или интерфейс командной строки (YDB CLI).

Совет

Подробнее о синтаксисе YQL читайте в Справочнике YQL.

Перед началом работы

Чтобы успешно работать с базой данных, используя YDB CLI:

  1. Установите YDB CLI — консольный клиент, для работы с Yandex Database.

  2. Узнайте эндпоинт и путь для своей базы данных, для этого:

    Консоль управления
    1. Перейдите в консоль управления.
    2. Выберите нужный каталог и перейдите в сервис Yandex Database.
    3. Выберите базу данных, к которой планируете выполнять запросы.
    4. В меню слева перейдите в раздел Обзор.
    5. Значение эндпоинта указано в строке Эндпоинт.
      • Пример значения параметра для Dedicated базы: lb.etn01lrprvnlnhv8v5kj.ydb.mdb.yandexcloud.net:2135.
      • Пример значения параметра для Serverless базы: ydb.serverless.yandexcloud.net:2135.
        Порт для эндпоинта по умолчанию 2135, так что указывать в запросе :2135 не обязательно.
    6. Полный путь к базе указан в строке База данных.
      Пример значения параметра: /ru-central1/b1g4ej5ju4rf5kelpk4b/etn01lrprvnlnhv8v5kj.
    • CLI

      Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.

      1. Посмотрите описание команды для получения списка баз данных:

        yc ydb database list --help
        
      2. Чтобы получить список баз данных в каталоге по умолчанию, выполните команду:

        yc ydb database list
        

        В результате в колонке ENDPOINT будет указан эндпоинт и база данных.

        +----------------------+----------+-------------+------------------------------------------------+---------------------+---------+
        |          ID          |   NAME   | DESCRIPTION |                    ENDPOINT                    |     CREATED AT      | STATUS  |
        +----------------------+----------+-------------+------------------------------------------------+---------------------+---------+
        | etn008v5oqsj8joktlvd | ydb-test |             | grpcs://<YDB эндпоинт>/?database=<база данных> | 2020-12-09 11:46:45 | RUNNING |
        +----------------------+----------+-------------+------------------------------------------------+---------------------+---------+
        

      1.Сохраните значения YDB эндпоинт и базу данных, указанных в колонке ENDPOINT. Они потребуются для дальнейших запросов.

  3. Проверьте разрешение входящего трафика через порт 2135. Убедитесь, что в назначенной группе безопасности существует соответствующее правило или добавьте его.

  4. Используйте один из способов аутентификации, представленных в разделе Аутентификация в YDB CLI.

    Один из самых простых способов аутентификации — сохранить значение OAuth-токена в переменную окружения YC_TOKEN. Для этого выполните команду:

    export YC_TOKEN=<OAuth-токен>
    

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

Создайте новую таблицу в базе данных с помощью конструкции CREATE TABLE:

Консоль управления
CLI
  1. В консоли управления выберите каталог, в котором будет создана база данных.

  2. В списке сервисов выберите Yandex Database.

  3. На странице Базы данных выберите базу.

  4. Чтобы открыть корневую директорию базы, перейдите на вкладку Навигация.

  5. Для создания запроса к базе нажмите кнопку SQL-запрос в правом верхнем углу. Откроется страница Запрос.

  6. В поле Запрос введите:

    CREATE TABLE series
    (
        series_id Uint64,
        title Utf8,
        series_info Utf8,
        release_date Uint64,
        PRIMARY KEY (series_id)
    );
    
  7. Нажмите кнопку Выполнить.

    Если запрос был выполнен успешно, то в нижней части будет надпись Completed. Новая таблица series появится в области слева.

  8. Чтобы получить подробную информацию о таблице, наведите на нее курсор и нажмите значок . Откроется поле с описанием. Для просмотра схемы таблицы перейдите на вкладку Схема.

  1. Если у вас еще нет интерфейса командной строки YDB CLI, установите и инициализируйте его.

  2. Посмотрите описание команды для выполнения YQL запроса:

    ydb scripting yql --help
    
  3. Для создания таблицы выполните запрос:

    ydb -e grpcs://<YDB эндпоинт> -d <база данных> \
    scripting yql -s \
    'CREATE TABLE series
    (
        series_id Uint64,
        title Utf8,
        series_info Utf8,
        release_date Uint64,
        PRIMARY KEY (series_id)
    );'
    
  4. Посмотрите результат, выполнив команду:

    ydb -e grpcs://<YDB эндпоинт> -d <база данных> \
    scheme ls -l
    

    Результат:

    ┌───────┬─────────────────┬──────┬───────────────────────────────┬──────────┬─────────────┐
    | Type  | Owner           | Size | Created                       | Modified | Name        |
    ├───────┼─────────────────┼──────┼───────────────────────────────┼──────────┼─────────────┤
    | table | ajehdq76s7o8ike | 0 b  | Wed, 09 Dec 2020 14:53:25 MSK | Unknown  | series      |
    | dir   |                 |      |                               |          | .sys        |
    └───────┴─────────────────┴──────┴───────────────────────────────┴──────────┴─────────────┘
    

Добавление строк

Добавьте данные в таблицу, используя конструкцию REPLACE INTO:

Консоль управления
CLI
  1. В консоли управления перейдите в рабочий каталог.

  2. Выберите сервис Yandex Database и откройте базу данных, в которой будете выполнять операции.

  3. Для создания запроса к базе перейдите на вкладку Навигация и нажмите кнопку SQL-запрос в правом верхнем углу. Откроется страница Запрос.

  4. В поле Запрос введите:

    REPLACE INTO series (series_id, title, release_date, series_info)
    VALUES
        (
            1,
            "IT Crowd",
            CAST(Date("2006-02-03") AS Uint64),
            "The IT Crowd is a British sitcom."
        ),
        (
            2,
            "Silicon Valley",
            CAST(Date("2014-04-06") AS Uint64),
            "Silicon Valley is an American comedy television series."
        ),
        (
            3,
            "Fake series",
            CAST(Date("2018-09-11") AS Uint64),
            "Fake series for testing purposes."
        )
        ;
    
  5. Для запуска запроса нажмите кнопку Выполнить.

  1. Если у вас еще нет интерфейса командной строки YDB CLI, установите и инициализируйте его.

  2. Посмотрите описание команды для выполнения YQL запроса:

    ydb scripting yql --help
    
  3. Для добавления данных в таблицу выполните команду:

    ydb -e grpcs://<YDB эндпоинт> -d <база данных> \
    scripting yql -s \
    'REPLACE INTO series (series_id, title, release_date, series_info)
    VALUES
    (
        1,
        "IT Crowd",
        CAST(Date("2006-02-03") AS Uint64),
        "The IT Crowd is a British sitcom."
    ),
    (
        2,
        "Silicon Valley",
        CAST(Date("2014-04-06") AS Uint64),
        "Silicon Valley is an American comedy television series."
    ),
    (
        3,
        "Fake series",
        CAST(Date("2018-09-11") AS Uint64),
        "Fake series for testing purposes."
    );'
    

    В таблицу series будут добавлены новые строки, чтобы увидеть результат, далее вы можете выбрать строки из таблицы.

Замена строк

Измените существующие данные в таблице, использую оператор UPDATE:

Консоль управления
CLI
  1. В консоли управления перейдите в рабочий каталог.

  2. Выберите сервис Yandex Database и откройте базу данных, в которой будете выполнять операции.

  3. Для создания запроса к базе перейдите на вкладку Навигация и нажмите кнопку SQL-запрос в правом верхнем углу. Откроется страница Запрос.

  4. В поле Запрос введите:

    UPDATE series
    SET series_info="Fake series updated"
    WHERE
        series_id = 3
    ;
    
  5. Нажмите кнопку Выполнить.

  6. Нажмите на имя таблицы series, чтобы увидеть результат.

  1. Если у вас еще нет интерфейса командной строки YDB CLI, установите и инициализируйте его.

  2. Посмотрите описание команды для выполнения YQL запроса:

    ydb scripting yql --help
    
  3. Для изменения данных в таблице series выполните команду:

    ydb -e grpcs://<YDB эндпоинт> -d <база данных> \
    scripting yql -s \
    'UPDATE series
    SET series_info="Fake series updated"
    WHERE series_id = 3;'
    

    Чтобы увидеть результат, далее вы можете выбрать строки из таблицы.

Удаление строк

Удалите данные из таблицы с помощью оператора DELETE:

Консоль управления
CLI
  1. В консоли управления перейдите в рабочий каталог.

  2. Выберите сервис Yandex Database и откройте базу данных, в которой будете выполнять операции.

  3. Для создания запроса к базе перейдите на вкладку Навигация и нажмите кнопку SQL-запрос в правом верхнем углу. Откроется страница Запрос.

  4. В поле Запрос введите:

    DELETE
    FROM series
    WHERE
        series_id = 3
    ;
    
  5. Нажмите кнопку Выполнить.

  6. Чтобы посмотреть результат, нажмите на имя таблицы series

  1. Если у вас еще нет интерфейса командной строки YDB CLI, установите и инициализируйте его.

  2. Посмотрите описание команды для выполнения YQL запроса:

    ydb scripting yql --help
    
  3. Для удаления данных в таблице series выполните команду:

    ydb -e grpcs://<YDB эндпоинт> -d <база данных> \
    scripting yql -s \
    'DELETE
    FROM series
    WHERE series_id = 3;'
    

    Данная команда удалит строки, в которых колонка series_id = 3. Чтобы увидеть результат, далее вы можете выбрать строки из таблицы.

Выбор строк

Выберите данные из таблицы с помощью оператора SELECT:

Консоль управления
CLI
  1. В консоли управления перейдите в рабочий каталог.

  2. Выберите сервис Yandex Database и откройте базу данных, в которой будете выполнять операции.

  3. Для создания запроса к базе перейдите на вкладку Навигация и нажмите кнопку SQL-запрос в правом верхнем углу. Откроется страница Запрос.

  4. В поле Запрос введите:

    SELECT
        series_id,
        title AS series_title,
        CAST (release_date AS Date) AS release_date
    FROM series;
    
  5. Нажмите кнопку Выполнить. Результат появится под полем Запрос.

  1. Если у вас еще нет интерфейса командной строки YDB CLI, установите и инициализируйте его.

  2. Посмотрите описание команды для выполнения YQL запроса:

    ydb scripting yql --help
    
  3. Для выборки данных из таблицы series выполните команду:

    ydb -e grpcs://<YDB эндпоинт> -d <база данных> \
    scripting yql -s \
    'SELECT series_id,
    title AS series_title,
    CAST (release_date AS Date) AS release_date
    FROM series;'
    

    В результате отобразятся данные таблицы:

    ┌───────────┬──────────────────┬──────────────┐
    | series_id | series_title     | release_date |
    ├───────────┼──────────────────┼──────────────┤
    | 1         | "IT Crowd"       | "2006-02-03" |
    ├───────────┼──────────────────┼──────────────┤
    | 2         | "Silicon Valley" | "2014-04-06" |
    └───────────┴──────────────────┴──────────────┘
    

Удаление таблицы

Удалите таблицу с помощью конструкции DROP TABLE:

Консоль управления
CLI
  1. В консоли управления перейдите в рабочий каталог.

  2. Выберите сервис Yandex Database и откройте базу данных, в которой будете выполнять операции.

  3. Для создания запроса к базе перейдите на вкладку Навигация и нажмите кнопку SQL-запрос в правом верхнем углу. Откроется страница Запрос.

  4. В поле Запрос введите:

    DROP TABLE series;
    
  5. Нажмите кнопку Выполнить. Таблица будет удалена.

  1. Если у вас еще нет интерфейса командной строки YDB CLI, установите и инициализируйте его.

  2. Посмотрите описание команды для выполнения YQL запроса:

    ydb scripting yql --help
    
  3. Для удаления таблицы series выполните команду:

    ydb -e grpcs://<YDB эндпоинт> -d <база данных> \
    scripting yql -s \
    'DROP TABLE series;'
    

    Таблица будет удалена.

В этой статье:
  • Перед началом работы
  • Создание таблицы
  • Добавление строк
  • Замена строк
  • Удаление строк
  • Выбор строк
  • Удаление таблицы
Language
Вакансии
Политика конфиденциальности
Условия использования
© 2021 ООО «Яндекс.Облако»