Как удалить таблицу зная только половину её названия? - MySQL

Узнай цену своей работы

Формулировка задачи:

Как удалить таблицу зная только половину её названия в mysql?

Решение задачи: «Как удалить таблицу зная только половину её названия?»

textual
Листинг программы
SET @SQL = (SELECT CONCAT('DROP TABLE ',GROUP_CONCAT(z.a),';') FROM(SELECT TABLE_NAME AS a FROM information_schema.tables 
WHERE table_schema=DATABASE() AND TABLE_NAME LIKE 'назв_непол%')z);
   PREPARE delSql FROM @SQL;
   EXECUTE delSql;

Объяснение кода листинга программы

  1. Создается переменная типа SQL с именем @SQL
  2. В неё записывается строка, которая будет запросом на удаление таблицы
  3. В этой строке используется функция CONCAT, которая объединяет две строки в одну
  4. Первая строка - это 'DROP TABLE '
  5. Вторая строка - это результат работы функции GROUP_CONCAT, которая объединяет все значения из столбца a в одну строку, разделенную символом ';'
  6. В функции GROUP_CONCAT участвуют только те строки, которые соответствуют условию в WHERE
  7. В WHERE используется функция DATABASE, которая возвращает имя текущей базы данных
  8. В WHERE используется оператор LIKE с шаблоном 'назв_непол%'
  9. Результат работы функции GROUP_CONCAT сохраняется в переменную типа SQL с именем delSql
  10. Выполняется запрос на подготовку выполнения SQL-запроса с использованием переменной delSql
  11. Выполняется выполнение подготовленного SQL-запроса
  12. Если выполнение запроса прошло успешно, то выводится сообщение об успешном выполнении
  13. Если во время выполнения запроса произошла ошибка, то выводится сообщение об ошибке

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5
Похожие ответы