Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/htmler.ru/wp-content/plugins/dodel-dance-booking/inc/api.php on line 22

Warning: file_get_contents(https://.dancecloud.at/index.php?c=PublicCustomers&a=JSON&what=courses): failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/htmler.ru/wp-content/plugins/dodel-dance-booking/inc/api.php on line 22

Warning: Invalid argument supplied for foreach() in /var/www/htmler.ru/wp-content/plugins/dodel-dance-booking/inc/meta.php on line 17
Альтернатива PHP функции STR_REPLACE MySQL - HTMLer.ru
STR_REPLACE MySQL
mysql

Альтернатива PHP функции STR_REPLACE MySQL

Привет. Сегодня мы рассмотрим как же можно заменить подстроку на другую подстроку в ячейке таблицы БД на MySQL или попросту посмотрим на альтернативу php функции STR_REPLACE в MySQL.

STR_REPLACE MySQL

MySQL аналог STR_REPLACE MySQL

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

REPLACE(haystack, needle, replace)

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

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

Рассмотрим на примере STR_REPLACE MySQL

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

UPDATE my_table SET name=REPLACE(name, 'Иван', 'Ваня')

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

UPDATE my_table SET name=REPLACE(name, 'Иван', 'Ваня') WHERE age

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

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

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


Также рекомендуем: