В инструкции, сразу после ключевого слова update, указывается таблица tbl, которая подвергается изменению. В предложении set указывается, какие столбцы подвергаются обновлению и устанавливаются их новые значения. Необязательное условие WHere позволяет задать критерий отбора строк— обновлению будут подвергаться толькоте строки, которые удовлетворяют условию where_definition.
В листинге 9.1 запись в таблице catalogs "Процессоры" изменяется на "Процессоры (Intel)".
Изменения можно производить не только над выборочными записями, но и над всей таблицей в целом. Пусть требуется изменить цену комплектующих в учебной базе данных в связи с изменением курса доллара. Для этого следует разделить цену в рублях на старый курс (28.5), чтобы получить цену в долларах, и умножить результат на новый курс (28.0).
Если указывается необязательное ключевое слово ignore, to команда обновления не будет прервана, даже если при обновлении возникнет ошибка дублирования ключей. Строки, из-за которых возникают конфликтные ситуации, обновлены не будут.
Оператор replace работает точно так же, как insert, за исключением того, что если старая запись в данной таблице имеет то же значение индекса unique или primary key, что и новая, то старая запись перед занесением новой будет удалена. Следует учитывать, что если не используются индексы unique или primary key, то применение команды replace не имеет смысла, т. к. она работает просто как insert.
В таблицу tbl вставляются значения, определяемые в списке после ключевого слова VAlues. Задать порядок столбцов можно при помощи необязательного списка col_name, следующего за именем таблицы tbl. Точно так же, как и в случае оператора insert, оператор replace допускает многострочный формат. Пример использования оператора приведен в листинге 9.5, где в таблицу catalogs добавляется пять новых записей.