MySQL аналог STR_REPLACE MySQL

MySQL аналог STR_REPLACE MySQL

MySQL аналог STR_REPLACE MySQL

» » Сообщение:

В MySQL есть прекрасный аналог, который работает прямо в запросах к БД.
Выглядит он как:

php Код: Выделить всё Развернуть
REPLACE(haystack, needle, replace)

Соответственно, здесь: haystack (стог сена) — графа/колонка/данные где нужно искать строку для замены, needle — строка, которую нужно заменить, replace — строка на которую нужно осуществить замену needle.

Эту MySQL функцию можно использовать непосредственно в запросах UPDATE. Представляете насколько упростит жизнь использование этой функции, если нужно где-нибудь что-то заменить, а записей 2000000, и на PHP писать str_replace не хочется, да и долго будет работать.
Рассмотрим на примере STR_REPLACE MySQL

Всё достаточно просто, предположим, у нас есть таблица, в которой в каждой ячейке графы «Name» нужно заменить «Иван» на «Ваня»:

php Код: Выделить всё Развернуть
UPDATE my_table SET name=REPLACE(name, 'Иван', 'Ваня')

Или, например, усложним пример, и сделаем замены «Иван» на «Ваня», только для тех, у кого возраст (графа Age) меньше 18 лет (то есть не совершеннолетним):

php Код: Выделить всё Развернуть
UPDATE my_table SET name=REPLACE(name, 'Иван', 'Ваня') WHERE age<18

Теперь не нужно делать множество запросов на PHP, всё выполнится за считанные милисекунды (в зависимости от размера таблицы БД).

Полная документация по функции REPLACE (STR_REPLACE MySQL) доступна по адресу: REPLACE MySQL.

Надеюсь, эта статья поможет вам облегчить решение задачи по замене каких-либо данных в базах данных на MySQL.

mysql, update, прекрасный, запросах, replace, haystack, needle, функцию, непосредственно





Похожие темыКомментарии ПросмотрыПоследнее сообщение
0951MySQL Проблема с кодировкой. Вместо...
Сообщение от: Admin
0329Как составить запрос случайной выбо...
Сообщение от: Admin
0601Кузнецов М.В., Симдянов И.В. MySQL ...
Сообщение от: Admin
0312Удаление дубликатов строк из таблиц...
Сообщение от: Admin
0342Какие ошибки не нужно допускать в M...
Сообщение от: Admin