Как заменить значения в поле MySQL (+вставить и удалить)
- Подробности
- Категория: MySQL
- Просмотров: 422
Иногда нужно массово заменить значения полей в базе данных...в этом случае...
Как заменить значения в поле MySQL
UPDATE [LOW_PRIORITY] имя_таблицы
SET название_поля1=выражение1,название_поля2=выражение2,...
[WHERE условное_выражение] [LIMIT количество_записей]
или
UPDATE [LOW_PRIORITY] [IGNORE] tbl_name
SET col_name1=expr1 [, col_name2=expr2 ...]
[WHERE where_definition]
[ORDER BY ...]
[LIMIT rows]
LOW_PRIORITY - это низкий приоритет, если в этом время другие пользователи интенсивно используют данную таблицу.
Пример, когда меняем полностью значение ячейки в базе данных
UPDATE city
SET name_town='Москва'
WHERE id=2
LIMIT=1
LIMIT=1 в данном случае можно было и не указывать, но в целом для примера.
Пример, когда меняем часть значения ячейки в базе данных
Ну вот охото поменять не всю ячейку, а только часть ее, тогда нужно будет применить следующий запрос к MySQL / в данном случае укажем более правильно:
- `` - косые кавычки для указания названия таблицы и поле
- 'значение' - в прямых кавычках указываем значения
UPDATE `city`
`city_name` = REPLACE(`city_name`,'Московия','Москва')
`city_name` LIKE '%Московия%'
без LIMIT, чтобы заменил везде в таблице city, где найдет в поле city_name. Тут мы меняем Московия на Москва.
Как удалить значения в поле MySQL
просто меняем на пустоту - в результате Московия замениться на пустоту
UPDATE `table_name` SET `field_text` = REPLACE(`field_text`,'Московия','');
Как добавить подстроку в поле MySQL
То есть уже значение есть и надо к нему прибавить спереди или сзади дополнительную подстроку
UPDATE `table_name` SET `field_text` = CONCAT(`field_text`,' добавил');
UPDATE `table_name` SET `field_text` = CONCAT(' добавил',`field_text`);
Или же так:
UPDATE `table_name` SET `field_text` = REPLACE(`field_text`,`field_text`,'Начало ' + `field_text` + ' конец');
---
еще немного примеров:
хотим обновить значение товара, его цену
UPDATE tovar SET price=1500 WHERE id=15
увеличиваем цену в кризис в 2 раза в интернет-магазине:
UPDATE tovar SET price=price*2;
увеличиваем цену в кризис в 2 раза и уменьшаем на 10:
UPDATE tovar SET price=price*2, price=price-10;