Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Поиск и замена в MySQL.

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

evgenij2007

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как найти текст в MySQL, например "просто сайт" и заменить на "хороший сайт", средствами phpMyAdmin?

Всего записей: 107 | Зарегистр. 04-09-2007 | Отправлено: 19:44 04-03-2010
xpert999



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
update ИМЯ_ТАБЛИЦЫ set ИМЯ_ПОЛЯ = replace(ИМЯ_ПОЛЯ, 'что ищем', 'на что заменяем');

Всего записей: 214 | Зарегистр. 30-12-2006 | Отправлено: 19:52 04-03-2010
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
evgenij2007
Mysql: Замена в таблице
и читайте мануал по MySQL сначала

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:53 04-03-2010
evgenij2007

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А можно глобально по всей базе MySQL заменить, без указаний таблиц и имени поля?

Всего записей: 107 | Зарегистр. 04-09-2007 | Отправлено: 20:03 04-03-2010
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
evgenij2007

Цитата:
А можно глобально по всей базе MySQL заменить, без указаний таблиц и имени поля?

нет

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:03 04-03-2010
xpert999



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А можно глобально по всей базе MySQL заменить, без указаний таблиц и имени поля?

Изврат конечно, но как вариант:
экспортируй базу в sql файл, открой блокнотом, сделай поиск и замену, а потом всё обратно импортируй

Всего записей: 214 | Зарегистр. 30-12-2006 | Отправлено: 20:35 04-03-2010
OLEX



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А с регулярными выражениями никак нельзя в мускуле искать/заменять?
 
Ну хотя бы как-то указать во втором параметре REPLACE что искать надо от начала строки, типа как в LIKE 'search_text%'.
 
Или может как-то с подзапросом, выбрать все что нужно через LIKE , и в выбраном тогда реплейсить?
 
Добавлено:
вроде так должно фурычить:
 
update ИМЯ_ТАБЛИЦЫ set ИМЯ_ПОЛЯ = replace(ИМЯ_ПОЛЯ, 'что ищем', 'на что заменяем') where ИМЯ_ПОЛЯ like 'что ищем%';
 


----------
Отче Наш, иже еси в моем PC. Да святится имя и расширение Твоё. ENTER.

Всего записей: 3590 | Зарегистр. 09-07-2002 | Отправлено: 16:34 09-07-2010
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OLEX

Цитата:
А с регулярными выражениями никак нельзя в мускуле искать/заменять?

искать можно, заменять нет (в смысле использовать регулярное выражение для модификации значения)


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:32 09-07-2010 | Исправлено: Cheery, 20:33 09-07-2010
mahtanoronra



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
подскажите как мне найти и заменить?

Цитата:
update Messages set ThumbnailPath = replace(ThumbnailPath, 'C:\Users\Admin8svnw\AppData\Roaming\ViberPC\\Thumbnails\(1aebcdd556a7685795e2558052d87.jpg)', 'd:\Programs\Viber7\SETTT\ViberPC\Thumbnails\(1aebcdd556a7685795e2558052d87.jpg)');

 
значение в ()   (1aebcdd556a7685795e2558052d87.jpg) может быть любым и не должно меняться..меняться должен только сам путь
 

Цитата:
C:\Users\Admin8svnw\AppData\Roaming\ViberPC
d:\Programs\Viber7\SETTT\ViberPC

 
не знаю какие регулярные выражения использовать...

Всего записей: 3590 | Зарегистр. 01-03-2009 | Отправлено: 04:11 26-08-2015 | Исправлено: mahtanoronra, 04:12 26-08-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mahtanoronra

Цитата:
не знаю какие регулярные выражения

никаких. регулярки в mysql работают только для выборки, а не замены.
просто же
 
update Messages set ThumbnailPath = replace(ThumbnailPath, 'C:\Users\Admin8svnw\AppData\Roaming\ViberPC', 'd:\Programs\Viber7\SETTT\ViberPC');

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 06:29 26-08-2015
mahtanoronra



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Mavrikii
я так и пробовал но ни в какую не меняет так как в конце пути 1aebcdd556a7685795e2558052d87.jpg например.
 
C:\Users\Admin8svnw\AppData\Roaming\ViberPC\1aebcdd556a7685795e2558052d87.jpg
 
если прописывать полный путь то меняет.
но таких файлов *.jpg там много.
 
значит ни как?

Всего записей: 3590 | Зарегистр. 01-03-2009 | Отправлено: 15:23 26-08-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mahtanoronra
replace меняет часть строки, ему не нужна она вся целиком.
Другое дело, если сделали ошибку в написании куска, что нужно заменить.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 16:04 26-08-2015
mahtanoronra



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Mavrikii
может у меня программа кривая, так как делал именно так, как вы обьяснили но текст не менялся(если только полный строка в ThumbnailPath то тогда менялся)..я использовал sqlitebrowser.org для win
может есть аналог какой то по лучше и удобнее и функциональные?
в любом случае спасибо)

Всего записей: 3590 | Зарегистр. 01-03-2009 | Отправлено: 21:18 26-08-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mahtanoronra

Цитата:
может есть аналог какой то по лучше и удобнее и функциональные?

командная строка. обычно используют phpmyadmin - веб скрипт для работы с базой (ничем другим, обычно, не пользуюсь вообще)
вы вбиваете SQL запрос сами или программа его генерит? может там галка стоит на полное соответствие.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 21:21 26-08-2015 | Исправлено: Mavrikii, 21:24 26-08-2015
mahtanoronra



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Mavrikii
сам, в программе есть окошко для SQL запросов.там и пишу команду и пишет что успешно 48 секунд.
попробую поискать в чём дело, отпишу если найду.раз должно работать

Всего записей: 3590 | Зарегистр. 01-03-2009 | Отправлено: 22:01 26-08-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mahtanoronra

Цитата:
пишет что успешно 48 секунд

а чего так долго то? и сколько affected rows?

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 06:26 27-08-2015
AlexHote

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
я только не понял зачем
 
в ms sql можно из системных таблиц вытащит имена всех таблиц и полей, циклами перебрать и заменить
 
если в mysql так нельзя, то можно создать таблицу с перечисление всех талиц и всех полей и далее в цикле

Всего записей: 174 | Зарегистр. 27-05-2005 | Отправлено: 18:07 11-09-2015
mahtanoronra



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
AlexHote
я в деле по sql совсем ламер, так что пользовлася тем что нашёл в сети.
а так как не вышло написал тут вопрос по поводу поиска и замены.
мне нужно было поправить базу в вайбере.(делал портативку для себя а в базе старые пути указаны к файлам.)

Всего записей: 3590 | Зарегистр. 01-03-2009 | Отправлено: 12:02 14-09-2015
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » Поиск и замена в MySQL.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru