Files
databases.softwareshinobi.com/landing/docs/SQL-101/009-update.md
Software Shinobi caa5bbb983
All checks were successful
learn org at code.softwareshinobi.com/databases.softwareshinobi.com/pipeline/head This commit looks good
rewriting
2025-06-19 13:04:08 -04:00

3.0 KiB

UPDATE

The UPDATE statement modifies existing data within a database table. Utilize this for atomic data changes based on specified criteria, ensuring data accuracy in application workflows.

Update syntax:

UPDATE users SET username='software shinobi' WHERE id=1;

Syntax breakdown:

  • UPDATE users: Identifies the target table (users) for the modification.
  • SET username='software shinobi': Specifies the column (username) to update and its new value.
  • WHERE id=1: Filters which rows are affected. Only the row where id equals 1 will be updated.

Critical Impact: Omitting the WHERE clause updates every row in the table. This operation is destructive; confirm intent before executing an UPDATE without a filter.

Update Multiple Rows

Consider a users table state prior to updates:

id username about
2 shinobi NULL
3 java team six NULL
4 tony NULL
5 shinobi NULL
6 java team six NULL
7 tony NULL

Update all rows in the about column:

UPDATE users SET about='404 bio not found';

This query affects all six rows:

Query OK, 6 rows affected (0 .02 sec)
Rows matched: 6  Changed: 6  Warnings: 0

users table state after updating all rows:

id username about
2 shinobi 404 bio not found
3 java team six 404 bio not found
4 tony 404 bio not found
5 shinobi 404 bio not found
6 java team six 404 bio not found
7 tony 404 bio not found

Update Specific Row

To update only a specific row, use the WHERE clause. Update the about column for the user with id 2:

UPDATE users SET about ='Hello World :)' WHERE id=2;

This targets a single row:

Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings:  0

users table state after updating a single row:

id username about
2 shinobi Hello World :)
3 java team six 404 bio not found
4 tony 404 bio not found
5 shinobi 404 bio not found
6 java team six 404 bio not found
7 tony 404 bio not found

Updating Records Using Another Table

Modify records in one table based on data from another table. This is achieved by joining or listing the tables involved in the UPDATE statement and specifying the join condition in the WHERE clause.

Update the about field in the users table using corresponding data from the prospect_users table where usernames match:

update users, prospect_users
set users.about = prospect_users.about
where prospect_users.username  = users.username;