---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://ydb.tech/docs/en/dev/yql-tutorial/update.md
  - https://ydb.tech/docs/ru/dev/yql-tutorial/update.md
  - href: ru/dev/yql-tutorial/update.md
    type: text/markdown
    title: Markdown version
  - href: ../../llms.txt
    type: text/markdown
    title: llms.txt
sourcePath: ru/core/dev/yql-tutorial/update.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ydb.tech/docs/ru/llms.txt

# Обновление данных с помощью UPDATE

Обновите данные в таблице с помощью оператора [UPDATE](https://ydb.tech/docs/ru/yql/reference/syntax/update.md).

<!-- source: ru/dev/yql-tutorial/_includes/yql_tutorial_prerequisites.md -->
{% note info %}

Предполагается, что вы уже создали таблицы ранее на шаге [Создание таблиц](https://ydb.tech/docs/ru/dev/yql-tutorial/create_demo_tables.md) и заполнили их данными на шаге [Добавление данных в таблицы](https://ydb.tech/docs/ru/dev/yql-tutorial/fill_tables_with_data.md).

{% endnote %}
<!-- endsource: ru/dev/yql-tutorial/_includes/yql_tutorial_prerequisites.md -->

```yql
UPDATE episodes
SET title="test Episode 2"
WHERE
    series_id = 2
    AND season_id = 5
    AND episode_id = 12
;

COMMIT;

-- Посмотреть результат:
SELECT * FROM episodes WHERE series_id = 2 AND season_id = 5;

-- YDB не знает об изменениях, имевших место в начале транзакции,
-- поэтому сначала выполняет чтение. Невозможно обновить или удалить таблицу,
-- которая уже была изменена в рамках текущей транзакции. UPDATE ON и
-- DELETE ON позволяют читать, обновлять и удалять несколько строк в таблице
-- в рамках одной транзакции.

$to_update = (
    SELECT series_id,
           season_id,
           episode_id,
           Utf8("Yesterday's Jam UPDATED") AS title
    FROM episodes
    WHERE series_id = 1 AND season_id = 1 AND episode_id = 1
);

SELECT * FROM episodes WHERE series_id = 1 AND season_id = 1;

UPDATE episodes ON
SELECT * FROM $to_update;

COMMIT;

-- Посмотреть результат:
SELECT * FROM episodes WHERE series_id = 1 AND season_id = 1;
```
