# Добавляем и меняем данные: INSERT, UPDATE

Курс: Claude Code и терминал: с 0 — https://zero2claude.ru/learn/code-terminal
Канонический URL: https://zero2claude.ru/learn/code-terminal/12-6-insert-update

INSERT добавляет в таблицу новую строку, а UPDATE меняет данные в уже существующей. Две команды SQL для записи в базу.

В прошлых уроках ты научился доставать данные из таблиц с помощью `SELECT` и `WHERE`. Но база — это не музей, где экспонаты стоят на месте: данные постоянно появляются и меняются. Сегодня разберём две команды, которые за это отвечают, — `INSERT` и `UPDATE`. Звучит строго, но по сути это просто «добавить новое» и «поправить старое».

## INSERT — добавить новую строку

Представь таблицу `users`, где каждая строка — это один пользователь. Зарегистрировался новый человек — значит, в таблице должна появиться ещё одна строка. Именно это и делает `INSERT`:

```sql
INSERT INTO users (name, email)
VALUES ('Аня', 'anya@mail.ru');
```

Читается почти как обычное предложение: «вставь в таблицу `users` поля имя и email со значениями Аня и её адрес». Раньше этой строки не было — теперь она есть. Ключевое слово тут — **новая**. `INSERT` всегда добавляет, а не трогает то, что уже лежит в таблице.

## UPDATE — изменить существующую строку

А что, если Аня сменила почту? Заводить нового пользователя нелепо — Аня-то одна. Нам нужно просто поправить email в её строке. Для этого есть `UPDATE`:

```sql
UPDATE users
SET email = 'anya@gmail.com'
WHERE name = 'Аня';
```

Здесь мы говорим: «в таблице `users` поставь новый email той строке, где имя — Аня». Обрати внимание на `WHERE` — он показывает, **какую именно** строку менять. Без него база поменяла бы email сразу у всех, а это вряд ли то, чего ты хотел.

Простое правило: если данных ещё нет — это `INSERT` (добавить). Если данные уже есть и их надо поправить — это `UPDATE` (изменить). Перепутать сложно, как только держишь в голове разницу «новое против имеющегося».

## Попробуй

Задания в терминале тут нет — урок про идею. Проговори про себя: новый клиент пришёл в магазин — какая команда? (INSERT). Старый клиент поменял адрес доставки — какая команда? (UPDATE). Если ответил уверенно, переходи к вопросам ниже.
