UPDATE — Modify existing rows in a table


image with no caption

Common Usage

UPDATE database_name.table_name SET col5 = val5, col2 = val2 WHERE id = 42;


The UPDATE command modifies one or more column values within existing table rows. The command starts out with a conflict resolution clause, followed by the name of the table that contains the rows we’re updating. The table name is followed by a list of column names and new values. The final WHERE clause determines which rows are updated. A WHERE condition that causes no rows to be updated is not considered an error. If no WHERE clause is given, every row in the table is updated.


An UPDATE command with no WHERE clause will update every row in a table.

The values that are used to update a row may be given as expressions. These expressions are evaluated within the context of the original row values. This allows the value expression to refer to the old row value. For example, to increment a column value by one, you might find SQL similar to UPDATE...SET col = col + 1 WHERE.... Columns and values can be given in any order, as long as they appear in pairs. Any column, including ROWID, may be updated. Any columns that do not appear in the UPDATE command remain unmodified. There is no way to return a column to its default value.

If the SQLite library has been compiled with the optional SQLITE_ENABLE_UPDATE_DELETE_LIMIT directive, an optional ...

Get Using SQLite now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.