Будьте внимательны при проверке существования с помощью оператора like!
Если в серии неудачных событий ваша переменная окажется пустой, и вы в итоге выполните это:
SHOW DATABASES like '' -- dangerous!
Он вернет ВСЕ базы данных, таким образом сообщая вызывающему скрипту, что он существует, так как были возвращены некоторые строки.
Гораздо безопаснее и лучше использовать знак равенства "=" для проверки существования.
Правильный и безопасный способ проверки на существование должен быть:
SHOW DATABASES WHERE `database` = 'xxxxx' -- safe way to test for existence
Обратите внимание, что вы должны обернуть базу данных имен столбцов обратными метками, в этом случае она не может использовать смягченный синтаксис.
Таким образом, если код, создающий переменную 'xxxxx', вернется пустым, то SHOW DATABASES не вернет ВСЕ базы данных, но вернет пустой набор.