Skip to content
SQLSimplified

advanced

UPDATE

Modify existing rows in a table with UPDATE, change one column or many, for one row or millions.

5 min read

Explanation

UPDATE changes values in existing rows. You name the table, set one or more columns to new values (which can be expressions), and (critically) filter with WHERE to limit which rows change.

Without a WHERE, every row is updated, which is rarely what you want. A safe habit: write the SELECT version of your filter first, confirm the rows, then convert it to an UPDATE.

Preview before you update

Run SELECT * FROM table WHERE ... with your intended filter. If those are the rows you mean to change, turn it into an UPDATE inside a transaction.

Syntax

UPDATE products
SET price = price * 1.10,
    stock = stock + 10
WHERE category = 'Electronics';
 
-- Update from another table:
UPDATE employees e
SET salary = e.salary + 5000
FROM departments d
WHERE e.department_id = d.id AND d.name = 'Engineering';

Interactive Example

Preview what a 10% price increase would look like for Electronics products before you'd ever run the update.

Loading playground environment...
Loading playground environment...

Common Mistakes

  • Omitting WHERE. The update hits every row, a classic, painful mistake.
  • Updating the wrong column. Double-check column names; a typo can zero out or null out data.
  • Not wrapping in a transaction. For anything important, BEGIN first so you can ROLLBACK if the result is wrong.

Best Practices

  • Always specify a WHERE; if you truly want all rows, say so deliberately.
  • Preview with SELECT using the same filter before committing.
  • Use expressions (price * 1.10) to compute new values from old ones.
  • Run updates inside a transaction and verify before COMMIT.

Practice Question

Write an UPDATE that reduces the stock of every 'Stationery' product by 25 (use stock - 25), and describe the WHERE clause you'd use to limit it.

Summary

UPDATE modifies existing rows via SET column = value and a WHERE filter. Never skip the WHERE, preview with SELECT, and prefer a transaction for reversible, safe changes.

FAQ

Cite this resource

SQLSimplified. "UPDATE". Available at: https://sqlsimplified.online/learn/update