Справочник по 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
