Иногда требуется массово заменить значения в ячейке таблицы базы данных mysql. Допустим стоит задача: одним запросом во всей таблице базы данных поменять запись «значение 1» на «значение2» . Как это сделать разберём ниже.
Заходим в интерфейс phpMyAdmin. Допустим, у нас есть таблица «yuts_catalog», в ней поле «leader», и значения в ячейке этого поля «0″, которое нужно поменять на «1″ для всех строк таблицы.
Надо сделать следующее. Заходим во вкладку SQL, пишем такой запрос в базу данных:
1 | <strong><code>UPDATE `yuts_catalog` SET `leader` = REPLACE(`leader`, "0", "1");</code></strong> |
где
- yuts_catalog — имя вашей таблицы
- leader — имя ячейки в таблице
- 0, 1 — существующее значение в ячейке и то, которое нужно вставить
Нажимаем кнопку «Пошёл» и всё, все значения изменены. Успехов!
Спасибо, работает. После загрузки на хостинг, провайдер предлагал в автомат режиме заменить все ссылки на http://www.имя.домен что и ненравилось, запросом сделал без www
Спасибо. Очень полезная инструкция для тех, кому надо что-либо массово заменить в базе данных. Думал, что это сложно, оказалось напечатать строчку и несколько кликов сделать:)
Спасибо большое, работает! Оказалось просто и полезно ;-)
Пользуйтесь)
Добрый вечер! Подскажите, пожалуйста, можно ли таким образом массово заменить в базе данных несколько символов на один, например, «&00*11&;» на «Ц»? И можно ли эту операцию осуществить не в отдельной таблице, а во всей базе данных сразу? Заранее благодарен за ответ! С уважением, Владимир
Заменить несколько символов на один конечно можно, запрос в БД такой же будет.
Если хотите сразу во всей базе поменять, тут будет проще экспортировать всю базу в том же phpmyadmin и открыть полученный файл текстовым редактором, к примеру vim или аналогичным. Там уже произвести массовую замену и залить обратно на хост. Только про бэкап не забывайте)
Благодарю Вас за ответ! Экспериментировать буду в редакторе. С уважением,
Эта статейка оказалась для меня весьма полезной, но в процессе возник вопрос возможна ли замена ячейки целиком? т.е. я меняю «0» на «1», а база кроме ячеек со значением «0» все нули и в остальных таких как «303», за ранее благодарен!
А как заменить во всех таблицах и во всех колонках? Очень надо, но не силён в MySQL синтаксисе
Вот за такую простоту и гениальность люблю mySQL :idea:
спасибо)
Благодарю за инструкцию по замене. Пригодилась :-)
С уважением, администратор сайта WPuse.ru
Спасибо помогло! Даже очень! :D