Подстановочный SQL-запрос для поиска определенного текста и замены

#mysql #sql #phpmyadmin

#mysql #sql #phpmyadmin

Вопрос:

Я пытаюсь создать SQL-запрос с чрезвычайно подстановочным кодом, чтобы найти определенный URL-адрес на нескольких сайтах (через phpMyAdmin) и заменить их.

Я начал со следующего, однако, по-видимому, это недопустимый SQL-запрос:

SELECT * FROM *.* WHERE * LIKE '%https://website.com/er01%'

По сути, я пытаюсь просмотреть каждую отдельную базу данных, каждую отдельную таблицу, каждый отдельный столбец. После того, как я проверил их, я хочу создать запрос для замены URL-адреса новым (URL-адрес должен быть заменен в середине значения, поскольку они обычно находятся в содержимом страницы)

Я новичок в SQL, поэтому, вероятно, это что-то очевидное, но я не могу найти способ делать то, что я хочу, где угодно в Интернете.

Ответ №1:

Вам нужно запустить

 show databases;
  

Для каждой базы данных выполните

 show tables;
  

Для каждой таблицы выполните

 desc <tablename>
  

И для каждого столбца выполните

 select * from databasename.tablename where columnname like '%https://website.com/er01%';
  

Если для этого слишком много возможностей, рассмотрите возможность генерации запросов.

И если вам нужны все результаты, подумайте о том, чтобы объединить их.