Sql запрос заменить одно значение на другое

Sql запрос заменить одно значение на другое

Чтобы не забыть и впоследствии освежить память

Чтобы изменить значение в поле в таблице БД необходимо выполнить запрос UPDATE.

Общий синтаксис запроса UPDATE

UPDATE заменит значения текущих полей таблицы на новые значения.
SET устанавливает какие поля изменять и новые значения, которые нужно присвоить этим полям.
WHERE (если необходимо) — условие на изменение определенных записей. Если WHERE не указан, изменены будут все записи.
При указании параметра LOW_PRIORITY, выполнение UPDATE задержится пока другие клиенты читают таблицу.

Пример запроса на изменение всех записей поля «apple» таблицы «fruit» на определенное значение

Пример запроса с WHERE который изменяет определенную запись:

При изменении значения поля можно использовать его текущее значение.
Пример запроса увеличивающего значение поля price в 2 раза:

SET в UPDATE вычисляет выражения слева направо.
Пример запроса который удваивает цену (поле price), а потом уменьшает его на 10:

Запрос UPDATE возвратит количество полей, которые были изменены в этом запросе.
Использование LIMIT позволит изменять заданное количество записей.

При работе над проектом возникла задача: во всех статьях сайта обнаружить и заменить одно строковое значение, на другое. С учетом того, что таких страниц больше пяти сотен, в ручную заниматься этим, совершенно нерационально. Все страницы формируются из статей, размещенных в таблице БД. Следовательно, задача сводится к обработке всех записей таблицы, поиску в них нужного стокового значения и его замены на новое.

Часто для таких задач прибегают к использованию регулярных выражений или делают PHP-скрипт, который обрабатывает каждую строку по отдельности.

Но данную задачу гораздо проще выполнить простым SQL запросом. Для такой ситуации, SQL располагает функцией REPLACE. Эта функция позволяет очень просто удалить или заменить часть текста в строке.

Читайте также:  Firefox тормозит потребляет много ресурсов

REPLACE( "исходная строка" , "искомое значение" , [ "значение для замены" ] )

Замена значения в строке запросом SQL

Следовательно, для замены строки значения "10000" во всех строках таблицы на "15000", используем запрос:

UPDATE pages SET content = REPLACE (content, "10000" , "15000" );

Такой запрос обработает все строки таблицы pages, исправив значение поля content, если оно содержит искомую фразу "10000".

Удаление текста в строке запросом SQL

Для удаления используем подобный запрос, в котором укажем либо пустую строку третьим параметром, либо просто не указывая этот параметр:

UPDATE pages SET content = REPLACE (content, "10000" , "" );
UPDATE pages SET content = REPLACE (content, "10000" );

В результате, в каждой строке таблицы pages, во всех значений поля content будет удалено текстовое значение 10000.

* Подобный механизм можно использовать для очистки или замены тегов, но нужно быть внимательным. Так как здесь идет сравнение строк строго по равенству, то может возникнуть ошибка и теги, содержащие классы или стили удалены не будут.

Часто в таблицах базы данных требуется произвести поиск и замену слова или подстроки. Для таких действий в SQL есть специальная функция «Replace». Рассмотрим на примерах как она работает в MySQL.

Внимание! При массовой обработке данных в базах данных не забывайте предварительно делать резервную копию.

Допустим, у компании поменялось название и требуется его заменить в таблице «table_name» на новое. Для этого выполняем запрос на обновление поля «field_text» с использованием нашей функции.

В качестве параметров передаём содержимое текущего поля, подстроки для поиска и замены. Секцию «WHERE» можно опустить, но препочтительно чтобы операция «UPDATE» применялась только к тем записям, где предварительно обнаружилась искомая подстрока.

Удаление подстроки из таблицы

Для удаления произвольной подстроки используем ту же функцию, но последний параметр указываем пустым.

Читайте также:  Kwh77 материнская плата характеристики

Добавление подстрок к полю

Существую случаи когда в начало или конец поля требуется что-то добавить. Например, новое предложение. В этих случая в SQL используют функцию объединения строк — «Concat».

Эту же задачу можно решить и спомощью «Replace». При этом появляется возможность добавлять подстроку в начало поля.

В примере к каждому полю таблицы в начало добавляется подстрока «START!», а в конец — « THE END!».

Приведённые SQL запросы можно выполнять как на PHP, так и через скрипты администрирования, вроде «phpMyAdmin».

Ссылка на основную публикацию
Ricoh sp 200s драйвера windows 10
Тип Windows Bit DDST 10 — 7 / 2019 — 2008 32 16.01.2016 1.12 2.34 [MB] Скачать 64 16.01.2016 1.12...
Panel x keeper ru личный кабинет
Скачать Тут вы можете скачать АПK-файл "X-Keeper Panel" для Андроид бесплатно, апк файл версии - 1.1.2 для загрузки на ваш...
Panther что это за папка
Member Статус: Не в сети Регистрация: 30.07.2006Откуда: Москва Зеленогр День добрыйНе так давно установил Windows 7 x64Диску С я выделил...
Ricoh sp 210 драйвера для windows 10
Ricoh SP 210SU (нажмите для увеличения) Лицензия на использование ПО. Драйверы для МФУ Ricoh SP 210SU для Windows 10 —...
Adblock detector