SQL UPDATE Statement

The SQL UPDATE statement is used to modify existing records in a table. Whether you want to change one row or multiple rows at once, the UPDATE statement provides a way to alter data in your database dynamically.

In this guide, we will cover the syntax, step-by-step explanations, and a range of examples to help you understand how to use UPDATE statement effectively.


Syntax of SQL UPDATE Statement

The basic syntax of an SQL UPDATE statement is as follows:

</>
Copy
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

Each part of the syntax has a specific purpose:

  • UPDATE: Specifies the table in which you want to modify data.
  • SET: Lists the columns to be updated with their new values. Multiple columns can be updated in one statement, separated by commas.
  • WHERE: Filters the rows to be updated. Without a WHERE clause, all rows in the table will be updated, which can be risky and should be used with caution.

For safety, it’s best to always use a WHERE clause with UPDATE unless you intend to update all rows in the table.


Step-by-Step Examples with MySQL

We’ll go through various examples demonstrating the UPDATE statement in MySQL. Using MySQL 8.0 with MySQL Workbench, we’ll use a sample students table with fields id, name, age, grade, and locality.

Setup for Examples: Creating the Database and Table

1. Open MySQL Workbench and create a new database:

</>
Copy
CREATE DATABASE school;

2. Select the school database:

</>
Copy
USE school;

3. Create a table named students:

</>
Copy
CREATE TABLE students (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50),
    age INT,
    grade VARCHAR(10),
    locality VARCHAR(50)
);

4. Insert some sample records to use in our examples:

</>
Copy
INSERT INTO students (name, age, grade, locality)
VALUES
('Alice', 14, '8th', 'Northside'),
('Bob', 15, '9th', 'Westend'),
('Charlie', 14, '8th', 'Northside'),
('David', 16, '10th', 'Southend'),
('Eva', 15, '9th', 'Westend');

Examples: Updating Records in the Table

Now, let’s explore different scenarios of updating records in this table.

SQL UPDATE Statement - Example Table Data

1 Updating a Single Column in a Specific Row

To update the locality of the student with id = 2:

</>
Copy
UPDATE students
SET locality = 'Eastside'
WHERE id = 2;

This query updates the locality of the student named Bob from “Westend” to “Eastside”.

SQL UPDATE Statement - Updating a Single Column in a Specific Row

2 Updating Multiple Columns in a Single Row

To update both the grade and age of the student named Eva:

</>
Copy
UPDATE students
SET grade = '10th', age = 16
WHERE name = 'Eva';

This query modifies two columns simultaneously, updating Eva’s grade to “10th” and age to 16.

SQL UPDATE Statement - Updating Multiple Columns in a Single Row

3 Updating Multiple Rows Using a Condition

To update the locality of all students in the “8th” grade:

</>
Copy
UPDATE students
SET locality = 'Central'
WHERE grade = '8th';

This query updates the locality to “Central” for all students in the 8th grade. Multiple rows are affected because of the condition.

SQL UPDATE Statement - Updating Multiple Rows Using a Condition

4 Incrementing Values in a Column

To increment the age of all students by 1:

</>
Copy
UPDATE students
SET age = age + 1;

This query increases the age of every student by 1 year. Be cautious with this type of update if no WHERE condition is specified, as it will affect all rows.

SQL UPDATE Statement - Incrementing Values in a Column

5 Updating All Rows in a Table

If you need to reset a value across all rows, you can omit the WHERE clause. For example, to reset all students’ grade to “Not Assigned”:

</>
Copy
UPDATE students
SET grade = 'NA';

This query changes the grade of every student to “Not Assigned”. Note: Be careful with UPDATE statements without a WHERE clause, as it affects all rows.

SQL UPDATE Statement - Updating All Rows in a Table

FAQs for SQL UPDATE

1 What does the SQL UPDATE statement do?

The SQL UPDATE statement modifies existing data in a table. It allows you to change values in specific rows based on a condition or in all rows if no condition is specified.

2 Can I update multiple columns at once with SQL UPDATE?

Yes, you can update multiple columns by listing each column with its new value, separated by commas in the SET clause.

3 What happens if I use SQL UPDATE without a WHERE clause?

If you omit the WHERE clause, the UPDATE statement will apply the changes to all rows in the table, which may lead to unintended data modifications.

4 Can I use a subquery with SQL UPDATE?

Yes, you can use subqueries to update values conditionally based on the result of another query, which can be useful for more complex updates.

5 How do I increment a value in a column using SQL UPDATE?

To increment a value, you can use arithmetic operations in the SET clause. For example, SET age = age + 1 will add 1 to the age value in each selected row.