В MySQL UPDATE — одна из команд применяемых чаще всего. В рамках данного материала кратко рассмотрим примеры использования UPDATE.
Продолжим работу с одной из таблиц, созданных при подготовке первых статей цикла по MySQL
Выберем все записи из таблицы REAL_ESTATE LIMIT ограничив вывод пятью первыми строками
select * from REAL_ESTATE LIMIT 5;
+————+—————+————+—————-+————+————+———+
| type | city | floorspace | district | street | rentorsale | PRICE |
+————+—————+————+—————-+————+————+———+
| Appartment | Yekaterinburg | 44 | Akademicheskiy | Shaumana | Rent | 15000 |
| Appartment | Moscow | 56 | Center | Tverskaya | Rent | 50000 |
| House | Tver | 130 | Leninskiy | Zelenaya | Sale | 250000 |
| Appartment | Kemerovo | 52 | Center | Lenina | Rent | 19000 |
+————+—————+————+—————-+————+————+———+
5 rows in set (0.00 sec)
Базовый MySQL UPDATE запрос
Возьмем первую строку в таблице и обновим одно из значений. Увеличим цену аренды квартиры на одну тысячу рублей.
UPDATE REAL_ESTATE SET PRICE = '16000' WHERE type = 'Appartment' and city = 'Yekaterinburg';
Query OK, 2 rows affected (0.01 sec)
Rows matched: 2 Changed: 2 Warnings: 0
Как следует из вывода запрос успешно выполнен, но затронул еще одну запись. Ее мы не увидели поскольку использовали LIMIT.
Проверим верно ли выполнено обновление
select * from REAL_ESTATE LIMIT 1;
+————+—————+————+—————-+———-+————+——-+
| type | city | floorspace | district | street | rentorsale | PRICE |
+————+—————+————+—————-+———-+————+——-+
| Appartment | Yekaterinburg | 44 | Akademicheskiy | Shaumana | Rent | 16000 |
+————+—————+————+—————-+———-+————+——-+
1 row in set (0.00 sec)
Цена увеличена, т.е. ожидаемый результат получен.
На практике в любой таблице обычно существует колонка id, и обращаться к записям проще всего именно по уникальному идентификатору.
Запрос в таком случае упрощается и может выглядеть так:
UPDATE REAL_ESTATE SET PRICE = '16000' WHERE id = '23432';
Структура SELECT запроса
UPDATE REAL_ESTATE — сначала указывается имя таблицы, значения которой обновляются
SET PRICE = '16000' — затем новое значение с указанием имени колонки
WHERE type = 'Appartment' and city = 'Yekaterinburg'; — последним обозначается условие выборка записи, для которой обновляется значение
В примере новое значение PRICE установлено только для тех записей таблицы REAL_ESTATE в которых значение колонки type — Appartment, а значение city — Yekaterinburg.
UPDATE запросы нужны для обновления данных, большая же часть запросов на к базам, обеспечивающим работу веб-проектов — запросы на выборку и получение информации. Читайте про MySQL SELECT
Также может оказаться интересен материал про методы очистки таблиц: TRUNCATE, DROP и DELETE.