Что такое UPDATE запрос

Ответ

UPDATE запрос используется в SQL для изменения существующих данных в таблице. Он позволяет обновлять значения одного или нескольких столбцов для всех строк или только для тех, которые соответствуют условию WHERE.

Пример:

UPDATE users
SET name = 'John', email = 'john@example.com'
WHERE id = 1;

Здесь обновляются поля name и email для пользователя с id = 1.

Важно:

  • Без условия WHERE обновятся все строки в таблице.
  • Можно использовать подзапросы для обновления на основе других таблиц.
  • В транзакциях можно откатить изменения, если что-то пошло не так.

Ответ 18+ 🔞

О, SQL, мать его! Ну что, опять будем лабать эти UPDATE'ы? Слушай сюда, раз и навгда запомни, как обезьяну научили.

Вот представь: у тебя есть таблица, ну, скажем, users. И сидят там эти юзеры, как пеньки, со своими старыми данными. А тебе надо им морды подправить. Вот для этого и есть UPDATE — он как хирург-косметолог для твоих записей в базе, только бесплатный и не матерится (хотя мог бы).

Смотри, как это выглядит, на простом примере, чтобы даже мартышка поняла:

UPDATE users
SET name = 'Васян', email = 'vasya@banya.ru'
WHERE id = 1;

Что мы тут сделали, а? Мы нашли чувака с id = 1 (это типа его номер в тюрьме) и сказали: «Слышь, дружок, теперь ты не «Иван Иваныч», а просто «Васян». И почта у тебя теперь не корпоративная, а банная. Живи с этим».

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

Если ты забудешь написать WHERE — ты обосрёшься на всю жизнь.

Серьёзно. Посмотри на этот ужас:

UPDATE users
SET name = 'Лох';

Блядь! Ты только что всем пользователям в таблице, всем до одного, от бабки Люды до админа системы, поменял имя на «Лох». Теперь у тешь в системе одни лохи. Пиздец. Начинай бекап откатывать и молись, чтобы тебя не убили.

Ещё можно делать похитрее. Допустим, ты хочешь всем, кто из города «Мухосранск», повысить зарплату. Ну, чисто из жалости.

UPDATE employees
SET salary = salary + 10000
WHERE city = 'Мухосранск';

Вот так уже красиво. Нашёл страдальцев и подкинул им деньжат прямо в запросе. Красота.

А если совсем ебнуться и захотеть обновить данные на основе другой таблицы — пожалуйста, SQL тебе не падла, он позволит. Подзапросы, JOIN'ы в UPDATE — это уже для продвинутых шаманов, но в принципе, возможно всё.

И да, самое главное — если ты делаешь это в транзакции (BEGIN TRANSACTION...), то у тебя всегда есть шанс сказать «ой, бля, нахуй я это сделал» и откатить всё командой ROLLBACK. Это как кнопка «анреал» в жизни. Пользуйся, пока есть возможность.

Короче, UPDATE — он мощный, как удар тапком. Можешь прихлопнуть одного таракана (одну строку), а можешь размазать всех по полу (всю таблицу). Думай, что делаешь, и не забывай про WHERE, ёпта!