Bird
Raised Fist0
SQLquery~5 mins

UPDATE single column in SQL

Choose your learning style10 modes available
Introduction

We use UPDATE to change data in a table. Updating a single column means changing just one piece of information for some rows.

You want to fix a typo in a person's name in your contacts list.
You need to change the price of one product in your store's inventory.
You want to mark a task as completed by changing its status.
You want to update the email address of a user in your database.
Syntax
SQL
UPDATE table_name
SET column_name = new_value
WHERE condition;

The WHERE clause decides which rows get updated. Without it, all rows change!

You only change one column by listing just that column in SET.

Examples
Change salary to 5000 for the employee with ID 3.
SQL
UPDATE employees
SET salary = 5000
WHERE employee_id = 3;
Update the price of the product named 'Notebook'.
SQL
UPDATE products
SET price = 19.99
WHERE product_name = 'Notebook';
Mark task 10 as done.
SQL
UPDATE tasks
SET status = 'done'
WHERE task_id = 10;
Sample Program

This creates a users table, adds three users, then updates Bob's email address. Finally, it shows all users to see the change.

SQL
CREATE TABLE users (
  id INT,
  name VARCHAR(50),
  email VARCHAR(100)
);

INSERT INTO users (id, name, email) VALUES
(1, 'Alice', 'alice@example.com'),
(2, 'Bob', 'bob@example.com'),
(3, 'Charlie', 'charlie@example.com');

UPDATE users
SET email = 'bob.new@example.com'
WHERE id = 2;

SELECT * FROM users ORDER BY id;
OutputSuccess
Important Notes

Always use WHERE to avoid updating every row by mistake.

You can update multiple rows if the WHERE condition matches more than one.

Summary

UPDATE changes data in a table.

You can update just one column by specifying it in SET.

Use WHERE to pick which rows to update.

Practice

(1/5)
1. What does the SQL statement UPDATE employees SET salary = 5000 WHERE id = 3; do?
easy
A. It changes the salary to 5000 for the employee with id 3.
B. It adds a new employee with salary 5000 and id 3.
C. It deletes the employee with id 3.
D. It shows the salary of employee with id 3.

Solution

  1. Step 1: Understand the UPDATE statement

    The UPDATE command changes existing data in a table.
  2. Step 2: Analyze the SET and WHERE clauses

    SET salary = 5000 changes the salary column, WHERE id = 3 limits the change to the employee with id 3.
  3. Final Answer:

    It changes the salary to 5000 for the employee with id 3. -> Option A
  4. Quick Check:

    UPDATE with SET and WHERE changes specified rows [OK]
Hint: UPDATE changes data; SET picks column; WHERE picks rows [OK]
Common Mistakes:
  • Thinking UPDATE adds new rows
  • Forgetting WHERE updates all rows
  • Confusing UPDATE with SELECT
2. Which of the following is the correct syntax to update the price column to 20 in the products table for product with id 10?
easy
A. UPDATE products SET price = 20 WHERE id = 10;
B. UPDATE products price = 20 WHERE id = 10;
C. UPDATE products SET price WHERE id = 10 = 20;
D. UPDATE products SET price = 20;

Solution

  1. Step 1: Check the UPDATE syntax

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

    UPDATE products SET price = 20 WHERE id = 10; matches the correct syntax with SET and WHERE clauses properly used.
  3. Final Answer:

    UPDATE products SET price = 20 WHERE id = 10; -> Option A
  4. Quick Check:

    Correct UPDATE syntax uses SET column = value and WHERE [OK]
Hint: Always use SET column = value and WHERE condition [OK]
Common Mistakes:
  • Omitting SET keyword
  • Placing WHERE before SET
  • Missing semicolon at end
3. Given the table students with columns id, name, and grade, what will be the result of this query?
UPDATE students SET grade = 90 WHERE name = 'Alice';

Assuming the table before update:
id | name  | grade
1  | Alice | 85
2  | Bob   | 88
3  | Alice | 92
medium
A. No rows will be updated because name is not unique.
B. Only the first row with name 'Alice' will be updated.
C. Both rows with name 'Alice' will have grade updated to 90.
D. All rows in the table will have grade set to 90.

Solution

  1. Step 1: Understand the WHERE clause effect

    WHERE name = 'Alice' matches all rows where name is exactly 'Alice'.
  2. Step 2: Apply UPDATE to matching rows

    Both rows with name 'Alice' (id 1 and 3) will have their grade set to 90.
  3. Final Answer:

    Both rows with name 'Alice' will have grade updated to 90. -> Option C
  4. Quick Check:

    UPDATE affects all rows matching WHERE condition [OK]
Hint: WHERE filters all matching rows, not just one [OK]
Common Mistakes:
  • Assuming only one row updates with non-unique WHERE
  • Thinking UPDATE without WHERE updates one row
  • Confusing UPDATE with SELECT
4. Identify the error in this SQL statement:
UPDATE orders SET status 'shipped' WHERE order_id = 101;
medium
A. Incorrect table name.
B. Missing equal sign (=) between column and value.
C. Using single quotes around column name.
D. Missing WHERE clause.

Solution

  1. Step 1: Check SET clause syntax

    SET clause must have column = value format. Here, equal sign is missing.
  2. Step 2: Verify other parts

    WHERE clause is present, table name looks correct, and no quotes around column name.
  3. Final Answer:

    Missing equal sign (=) between column and value. -> Option B
  4. Quick Check:

    SET requires column = value syntax [OK]
Hint: SET needs column = value, not just column value [OK]
Common Mistakes:
  • Omitting equal sign in SET
  • Forgetting WHERE causes all rows update
  • Using quotes incorrectly around column names
5. You have a table inventory with columns item_id, quantity, and price. You want to increase the price by 10% only for items with quantity less than 5. Which SQL statement correctly updates the price column?
hard
A. UPDATE inventory SET price = price + 10 WHERE quantity < 5;
B. UPDATE inventory SET price = price + 0.10 WHERE quantity < 5;
C. UPDATE inventory SET price = price * 0.10 WHERE quantity < 5;
D. UPDATE inventory SET price = price * 1.10 WHERE quantity < 5;

Solution

  1. Step 1: Understand the requirement

    Increase price by 10% means multiply price by 1.10.
  2. Step 2: Check the WHERE condition

    Only update rows where quantity is less than 5.
  3. Step 3: Evaluate each option

    UPDATE inventory SET price = price * 1.10 WHERE quantity < 5; correctly multiplies price by 1.10 with proper WHERE clause.
  4. Final Answer:

    UPDATE inventory SET price = price * 1.10 WHERE quantity < 5; -> Option D
  5. Quick Check:

    Multiply price by 1.10 to increase by 10% [OK]
Hint: Multiply price by 1.10 to increase by 10% [OK]
Common Mistakes:
  • Adding 10 instead of 10%
  • Multiplying by 0.10 reduces price
  • Adding 0.10 increases price by 0.10 units only
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