Как удалить таблицу зная только половину её названия? - 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;
Объяснение кода листинга программы
- Создается переменная типа SQL с именем @SQL
- В неё записывается строка, которая будет запросом на удаление таблицы
- В этой строке используется функция CONCAT, которая объединяет две строки в одну
- Первая строка - это 'DROP TABLE '
- Вторая строка - это результат работы функции GROUP_CONCAT, которая объединяет все значения из столбца
a
в одну строку, разделенную символом ';' - В функции GROUP_CONCAT участвуют только те строки, которые соответствуют условию в WHERE
- В WHERE используется функция DATABASE, которая возвращает имя текущей базы данных
- В WHERE используется оператор LIKE с шаблоном 'назв_непол%'
- Результат работы функции GROUP_CONCAT сохраняется в переменную типа SQL с именем delSql
- Выполняется запрос на подготовку выполнения SQL-запроса с использованием переменной delSql
- Выполняется выполнение подготовленного SQL-запроса
- Если выполнение запроса прошло успешно, то выводится сообщение об успешном выполнении
- Если во время выполнения запроса произошла ошибка, то выводится сообщение об ошибке
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д