Bird
Raised Fist0
SQLquery~5 mins

Why UPDATE needs caution in SQL

Choose your learning style10 modes available
Introduction
The UPDATE command changes data in a table. It needs caution because wrong changes can cause data loss or errors.
Fixing a wrong phone number in a customer list
Changing the status of an order from pending to shipped
Updating prices of products after a sale
Correcting spelling mistakes in names
Adjusting inventory counts after stock check
Syntax
SQL
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
Always use WHERE to limit which rows get updated, or all rows will change.
Without WHERE, UPDATE changes every row in the table.
Examples
Updates salary only for the employee with id 3.
SQL
UPDATE employees
SET salary = 5000
WHERE id = 3;
Reduces price by 10% for all products in the Books category.
SQL
UPDATE products
SET price = price * 0.9
WHERE category = 'Books';
Updates city to New York for all customers (no WHERE clause).
SQL
UPDATE customers
SET city = 'New York';
Sample Program
This example creates a users table, adds three users, then increases Bob's age by 1. Finally, it shows all users.
SQL
CREATE TABLE users (id INT, name VARCHAR(20), age INT);
INSERT INTO users VALUES (1, 'Alice', 25), (2, 'Bob', 30), (3, 'Carol', 22);
UPDATE users SET age = age + 1 WHERE name = 'Bob';
SELECT * FROM users ORDER BY id;
OutputSuccess
Important Notes
Always double-check your WHERE clause before running UPDATE.
Consider running a SELECT with the same WHERE first to see which rows will change.
Use transactions if your database supports them, so you can undo mistakes.
Summary
UPDATE changes existing data in a table.
Without WHERE, all rows get updated, which can cause big problems.
Check carefully before running UPDATE to avoid unwanted data loss.

Practice

(1/5)
1. Why should you be careful when using the UPDATE statement without a WHERE clause?
easy
A. Because it will only update the first row.
B. Because it will delete the table.
C. Because it will create a new table.
D. Because it will update all rows in the table, possibly causing unwanted changes.

Solution

  1. Step 1: Understand the role of WHERE in UPDATE

    The WHERE clause limits which rows get updated. Without it, all rows are affected.
  2. Step 2: Consider the effect of missing WHERE

    Without WHERE, every row in the table changes, which can cause data loss or errors.
  3. Final Answer:

    Because it will update all rows in the table, possibly causing unwanted changes. -> Option D
  4. Quick Check:

    Missing WHERE updates all rows [OK]
Hint: Always use WHERE to limit rows in UPDATE [OK]
Common Mistakes:
  • Assuming UPDATE only changes one row by default
  • Forgetting WHERE clause causes full table update
  • Thinking UPDATE deletes data
2. Which of the following is the correct syntax to update the salary to 5000 for employees in department 10?
easy
A. UPDATE employees SET salary = 5000 department = 10;
B. UPDATE employees SET salary = 5000 WHERE department = 10;
C. UPDATE employees SET salary 5000 WHERE department = 10;
D. UPDATE employees salary = 5000 WHERE department = 10;

Solution

  1. Step 1: Recall correct UPDATE syntax

    The correct syntax is UPDATE table SET column = value WHERE condition;.
  2. Step 2: Check each option

    UPDATE employees SET salary = 5000 WHERE department = 10; matches the correct syntax exactly. Others miss keywords or punctuation.
  3. Final Answer:

    UPDATE employees SET salary = 5000 WHERE department = 10; -> Option B
  4. Quick Check:

    Correct UPDATE syntax uses SET and WHERE [OK]
Hint: UPDATE needs SET and WHERE for targeted changes [OK]
Common Mistakes:
  • Omitting SET keyword
  • Missing equal sign (=)
  • Leaving out WHERE clause
3. Given the table products with rows:
{id:1, price:100}, {id:2, price:200}, {id:3, price:300}
What will be the result after running:
UPDATE products SET price = price + 50 WHERE id > 1;
Then selecting all rows?
medium
A. [{id:1, price:150}, {id:2, price:250}, {id:3, price:350}]
B. [{id:1, price:150}, {id:2, price:200}, {id:3, price:300}]
C. [{id:1, price:100}, {id:2, price:250}, {id:3, price:350}]
D. [{id:1, price:100}, {id:2, price:200}, {id:3, price:300}]

Solution

  1. Step 1: Identify rows affected by WHERE clause

    The condition id > 1 affects rows with id 2 and 3 only.
  2. Step 2: Calculate new prices for affected rows

    Price for id 2: 200 + 50 = 250; Price for id 3: 300 + 50 = 350; id 1 remains 100.
  3. Final Answer:

    [{id:1, price:100}, {id:2, price:250}, {id:3, price:350}] -> Option C
  4. Quick Check:

    Only rows with id > 1 updated [OK]
Hint: Check WHERE condition carefully to know which rows update [OK]
Common Mistakes:
  • Updating all rows ignoring WHERE
  • Updating wrong rows by misreading condition
  • Changing values incorrectly
4. What is wrong with this SQL statement?
UPDATE employees SET salary = salary + 1000 WHERE;
medium
A. The WHERE clause is incomplete and causes a syntax error.
B. The SET keyword is missing.
C. The table name is incorrect.
D. The salary column cannot be updated.

Solution

  1. Step 1: Check the WHERE clause syntax

    The WHERE clause must have a condition after it. Here it is empty, causing error.
  2. Step 2: Verify other parts of the statement

    SET keyword and table name are correct; salary can be updated.
  3. Final Answer:

    The WHERE clause is incomplete and causes a syntax error. -> Option A
  4. Quick Check:

    Incomplete WHERE causes syntax error [OK]
Hint: Always provide a condition after WHERE [OK]
Common Mistakes:
  • Leaving WHERE empty
  • Forgetting condition after WHERE
  • Assuming WHERE is optional but incomplete
5. You want to increase the price by 10% only for products priced below 100. Which UPDATE statement is safest to avoid changing other rows?
hard
A. UPDATE products SET price = price * 1.10 WHERE price < 100;
B. UPDATE products SET price = price * 1.10;
C. UPDATE products SET price = price + 10 WHERE price < 100;
D. UPDATE products SET price = price * 1.10 WHERE price > 100;

Solution

  1. Step 1: Identify the condition to limit rows

    Only products with price less than 100 should be updated, so WHERE price < 100 is needed.
  2. Step 2: Choose correct price increase method

    Increasing by 10% means multiplying price by 1.10, not adding 10.
  3. Final Answer:

    UPDATE products SET price = price * 1.10 WHERE price < 100; -> Option A
  4. Quick Check:

    Use WHERE and correct math for safe updates [OK]
Hint: Use WHERE to limit rows and correct math for updates [OK]
Common Mistakes:
  • Forgetting WHERE and updating all rows
  • Adding fixed amount instead of percentage
  • Using wrong condition in WHERE
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard