Замена вхождения строки в MySQL

Для замены вхождения строки в MySQL достаточно всего одного запроса: 

UPDATE table_name SET Поле = REPLACE(field_name, "old value", "new value");

Данный запрос имеет 4 переменных: 

  • table_name — название таблицы, в которой необходимо выполнить поиск и замену;
  • field_name — название поля в таблице, в котором будет проводиться операция
  • old value — старое значение
  • new value — новое значение

Замена вхождений по условию в MySQL

Вы вольны выполнять условие WHERE для операции UPDATE.

UPDATE Таблица SET Поле = REPLACE(Поле, "строка для замены", "чем заменяем") WHERE Поле LIKE "%sometext%";

Примеры поиска и замены вхождений

Вот и пример, который побудил меня написать заметку: 
Этот запрос заменит все двойные пробелы на одинарные в поле name таблицы OpenCart_product_description (привет, OpenCart!)

UPDATE oc_product_description SET name = REPLACE(name, "  ", " ");

В каждой заметке о работе с базой данных стоит напоминать о бекап. И эта — не исключение. Не забывайте про бекап!

Anatolii Koziura

Антураж-куражмонтаж в мире web разработки.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *