Как заменить значения в поле MySQL (+вставить и удалить)

Иногда нужно массово заменить значения полей в базе данных...в этом случае...

Как заменить значения в поле 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;

 

 

Добавить комментарий


Защитный код
Обновить

Вы здесь: Сайтостроение Создание сайта MySQL Как заменить значения в поле MySQL (+вставить и удалить)