Справочник по MySQL : SQL : Обновление записей в таблице(UPDATE)

Материал из Справочник Web-языков.

Перейти к: навигация, поиск
Главная  ::. MySQL  ::. SQL  ::. Обновление записей в таблице(UPDATE)

Обновление записи осуществляется командой UPDATE.

[править] Синтаксис команды UPDATE

UPDATE [LOW_PRIORITY] [IGNORE] tbl_name
    SET col_name1=expr1 [, col_name2=expr2, ...]
    [WHERE where_definition]
    [LIMIT #]
tbl_name
- Задает имя таблицы, в которой будут обновляться записи. На момент запуска команды UPDATE таблица с таким именем должна существовать в базе данных.
LOW_PRIORITY
- Если указан этот параметр, то обновление записи будет отложена до тех пор, пока другие сценарии не закончат чтение из этой таблицы.
IGNORE
- Если некоторые поля таблицы имеют ключи PRIMARY или UNIQUE, и производится обновление строки, в которой эти поля имеют дублирующее значение, то действие команды аварийно завершается и выдается ошибка №1062 ("Duplicate entry 'val' for key N"). Если в команде INSERT указано ключевое слово IGNORE, то обновление записей не прерывается, а строки с дублирующими значениями просто не изменяются.
SET
- После этого ключевого слова должен идти список полей таблицы, которые будут обновлены и непосредственно сами новые значения полей в виде:
имя поля='значение'
Следующий пример производит обновление поля country у ВСЕХ записей в таблице users:
UPDATE `users` SET `country`  =  'Russia'
А здесь обновление полей country и city у ВСЕХ записей таблицы users:
UPDATE `users` SET `country`  =  'Russia',  `city`  =  'Ryazan'
Если новое значение, присваиваемое командой UPDATE соответствует старому, то обновление этого поля не происходит.
Для задания нового значения можно использовать выражения.
Следующий пример увеличит возраст всех пользователей, записанных в таблице users на один год:
UPDATE `users` SET `age`  =  `age`  +1
WHERE
- Задает условие отбора записей, подлежащих изменению.
Следующий пример изменит название города в записях пользователей с "Ryazan" на "Рязань":
UPDATE `users` SET `city`  =  'Рязань'WHERE `city`  =  'Ryazan'
LIMIT
- Задает максимальное количество строк, которые могут быть изменены.
UPDATE `users` SET `age`  =  `age`  +1LIMIT5
Личные инструменты
1.85761499405