Для чего используется оператор UPDATE в SQL?

«Для чего используется оператор UPDATE в SQL?» — вопрос из категории Базы данных и SQL, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

Основное назначение:

  • Изменение значений в одном или нескольких столбцах для выбранных строк.
  • Поддержание актуальности данных без необходимости удаления и повторной вставки записей.

Синтаксис и пример:

UPDATE table_name
SET column1 = value1, column2 = value2
WHERE condition;

Ключевые принципы и best practices:

  1. Всегда используйте WHERE. Без условия обновятся все строки в таблице, что обычно является ошибкой.
  2. Можно обновлять несколько столбцов, перечисляя их через запятую.
  3. Поддерживает сложные условия с использованием JOIN в подзапросах.
  4. Транзакционность. Рекомендуется выполнять в транзакции для возможности отката (BEGIN TRANSACTION; ... COMMIT/ROLLBACK;).

Пример с транзакцией и JOIN:

BEGIN TRANSACTION;

UPDATE Orders o
SET o.status = 'Shipped'
FROM Orders o
INNER JOIN OrderDetails od ON o.OrderID = od.OrderID
WHERE od.ProductID = 100 AND o.status = 'Pending';

-- Проверьте результат перед коммитом
-- ROLLBACK; 
COMMIT;