Найти и заменить всю базу данных mysql

я хотел бы найти и заменить внутри всей базы данных не только таблицу.

Как я могу изменить скрипт ниже, чтобы работать?

update [table_name] set [field_name] = replace ([field_name], ‘[string_to_find]’, ‘[string_to_replace]’);

Я просто использую астерикс?

update * set [field_name] = replace ([field_name], ‘[string_to_find]’, ‘[string_to_replace]’);

sqldump в текстовый файл, найти / заменить, повторно импортировать sqldump.

Дамп базы данных в текстовый файл
mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql

Восстановите базу данных после внесения в нее изменений.
mysql -u root -p[root_password] [database_name] < dumpfilename.sql

Обновление старого URL-адреса для нового URL-адреса в word-press mysql Query:

 UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET guid = replace(guid, 'http://olddomain.com','http://newdomain.com'); UPDATE wp_posts SET post_content = replace(post_content, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_posts SET post_excerpt = replace(post_excerpt, 'http://olddomain.com', 'http://newdomain.com'); UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://olddomain.com', 'http://newdomain.com'); 

Это сильно означает, что ваши данные НЕ НОРМАЛИЗИРОВАНЫ для начала. Вы действительно должны это исправить.

Somteh = вещь, подобная этой, должна работать (NB, вы не упомянули о том, что используете какие-либо другие языки, поэтому ее записывали как хранимую процедуру MySQL)

  create procedure replace_all(find varchar(255), replce varchar(255), indb varcv=char(255)) DECLARE loopdone INTEGER DEFAULT 0; DECLARE currtable varchar(100); DECLARE alltables CURSOR FOR SELECT t.tablename, c.column_name FROM information_schema.tables t, information_schema.columns c WHERE t.table_schema=indb AND c.table_schema=indb AND t.table_name=c.table_name; DECLARE CONTINUE HANDLER FOR NOT FOUND SET loopdone = 1; OPEN alltables; tableloop: LOOP FETCH alltables INTO currtable, currcol; IF (loopdone>0) THEN LEAVE LOOP; END IF; SET stmt=CONCAT('UPDATE ', indb, '.', currtable, ' SET ', currcol, ' = word_sub(\'', find, '\','\'', replce, '\') WHERE ', currcol, ' LIKE \'%', find, '%\''); PREPARE s1 FROM stmt; EXECUTE s1; DEALLOCATE PREPARE s1; END LOOP; END // 

Я оставлю это вам, чтобы выяснить, как объявить функцию word_sub – здесь я сделал достаточно свободного программирования.

Короткий ответ: вы не можете.

Длинный ответ: вы можете использовать INFORMATION_SCHEMA для получения определений таблиц и использовать их для генерации необходимых операторов UPDATE динамически. Например, вы можете начать с этого:

 SELECT TABLE_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'your_schema' 

Я постараюсь не делать этого, если это вообще возможно.

Это невозможно – вам нужно выполнить ОБНОВЛЕНИЕ для каждой таблицы отдельно.

ПРЕДУПРЕЖДЕНИЕ: ДУБИРУЕМЫЙ, НО ЭТО РАБОТАЕТ (ВЕРОЯТНО) РЕШЕНИЕ ПОСЛЕДУЕТ

Кроме того, вы можете сбросить базу данных через mysqldump и просто выполнить поиск / замену в результирующем файле SQL. (Я бы рекомендовал отключить все, что может касаться базы данных, пока это выполняется, а также использовать флаги -add-drop-table и -extended-insert.) Однако вам нужно быть уверенным, что поиск / замена текста не изменит ничего, кроме самих данных (т. е. что текст, который вы собираетесь менять, может не произойти как часть синтаксиса SQL), и я действительно попытаюсь сделать повторную вставку сначала пустую тестовую базу .)

Простое Soltion

 UPDATE `table_name` SET `field_name` = replace(same_field_name, 'unwanted_text', 'wanted_text') 

Инструмент поиска и замены MySQL

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

ОСТОРОЖНО, при замене командой REPLACE!

Зачем?

потому что есть большая вероятность, что ваша firebase database содержит сериализованные данные (особенно таблицу wp_options ), поэтому использование «замены» может привести к поломке данных.

Используйте рекомендуемую сериализацию: https://www.protectpages.com/tools/WordpressMigrator

Если вы находитесь в phpMyAdmin, и у вас есть только минимальное изменение, вы можете сделать это простым способом.

  • Войдите в свой phpMyAdmin
  • Выберите базу данных, необходимую для выполнения изменений.
  • Нажмите кнопку поиска.

    введите описание изображения здесь

Вы всегда можете выбрать либо все таблицы, либо любые. Не забудьте указать ключевое слово поиска, оно будет использоваться в качестве шаблона (%).

  • Теперь нажмите «Перейти».
  • Это даст вам все таблицы, в которых есть элемент, который вы искали.

введите описание изображения здесь

  • Теперь вы можете открывать каждую таблицу по очереди и выполнять обновление. Образец запроса может выглядеть следующим образом.

    SELECT * FROM sibeecst_passion . wp_ewwwio_images WHERE ( wp_ewwwio_images ( id USING utf8) LIKE ‘% sibee%’ ИЛИ ​​CONVERT ( path USING utf8) LIKE ‘% sibee%’ ИЛИ image_md5 ( image_md5 ИСПОЛЬЗОВАНИЕ utf8) LIKE ‘% sibee%’ ИЛИ ​​CONVERT ( results ИСПОЛЬЗОВАНИЕ utf8) LIKE ‘ % sibee% ‘OR CONVERT ( gallery USING utf8) LIKE’% sibee% ‘ИЛИ image_size ( image_size USING utf8) LIKE’% sibee% ‘ИЛИ orig_size ( orig_size USING utf8) LIKE’% sibee% ‘ИЛИ CONVERT ( updates ИСПОЛЬЗОВАНИЕ utf8) LIKE ‘% sibee%’ ИЛИ ​​CONVERT ( updated USING utf8) LIKE ‘% sibee%’ ИЛИ ​​CONVERT ( trace ИСПОЛЬЗОВАНИЕ utf8) LIKE ‘% sibee%’ ИЛИ ​​CONVERT ( attachment_id USING utf8) LIKE ‘% sibee%’ ИЛИ ​​CONVERT ( resize ИСПОЛЬЗОВАНИЕ utf8) LIKE ‘% sibee%’ ИЛИ ​​CONVERT ( converted USING utf8) LIKE ‘% sibee%’ ИЛИ ​​CONVERT ( level USING utf8) LIKE ‘% sibee%’ ИЛИ ​​CONVERT ( pending USING utf8) LIKE ‘% sibee%’ ИЛИ ​​CONVERT ( backup USING utf8) LIKE ‘% sibee%’)

Другой вариант (в зависимости от варианта использования) – использовать продукты TextPipe и DataPipe DataMystic . Я использовал их в прошлом, и они отлично поработали в сценариях сложной замены и без необходимости экспортировать данные из базы данных для поиска и замены.

Я просто хотел поделиться тем, как я это нашел / заменил вещь с помощью базы данных sql, потому что мне нужно было заменить ссылки из файла sessionbuddy от Chrome.

  • Поэтому я экспортировал файл базы данных sql в файл .txt с помощью SQLite Database Browser 2.0 b1
  • Найти / заменить в блокноте ++
  • Импортирован .txt-файл обратно в SQLite Database Browser 2.0 b1
  • MySQL - Как SUM раз?
  • Как получить размеры таблиц базы данных MySQL?
  • Mysql или / и приоритет?
  • Рассчитать расстояние, заданное двумя точками, широтой и долготой
  • Как выбрать из MySQL, где имя таблицы Variable
  • Изменение часового пояса MySQL?
  • MySQL - Как найти точное совпадение слов, используя LIKE?
  • Почему я не могу получить доступ к серверу MySQL с помощью правила пересылки портов в маршрутизаторе?
  • MySQL конвертирует вывод timediff в день, час, минуту, второй формат
  • Ошибка MySQL 1022 при создании таблицы
  • Как включить медленный журнал запросов MySQL без перезагрузки MySQL?
  • Interesting Posts

    Почему Fetch API Отправляет первый запрос PUT в качестве ВАРИАНТОВ

    Java API, чтобы узнать версию JDK для файла classа?

    Должны ли хранилища streamов или действия (или оба) касаться внешних служб?

    Каковы минусы отключения ProxyCreationEnabled для CTP5 кода EF

    Сколько действий против fragmentов?

    PM: изображение спящего режима отсутствует или не может быть загружено

    Swift: как создать отметку времени и формат даты как ISO 8601, RFC 3339, часовой пояс UTC?

    Сохранять историю команд cmd.exe между сеансами?

    Изменение маршрутизации на Mac с двумя портами Ethernet

    Как определить программным способом, является ли конкретный процесс 32-разрядным или 64-разрядным

    Понимание того, что требуется для удаления хеша # из угловых маршрутов

    C #: HtmlAgilityPack извлекает внутренний текст

    Как удалить все не буквенно-цифровые символы из строки, кроме тире?

    Библиотека SSH для Java

    50 веб-камер USB на одном компьютере. Это действительно возможно?

    Давайте будем гением компьютера.