Tenha cuidado ao verificar a existência com uma declaração like!
Se em uma série de eventos infelizes sua variável acaba vazia, e você acaba executando isso:
SHOW DATABASES like '' -- dangerous!
Ele retornará TODOS os bancos de dados, informando ao script de chamada que ele existe desde que algumas linhas foram retornadas.
É uma prática muito mais segura e melhor usar um sinal de igual "=" para testar a existência.
A maneira correta e segura de testar a existência deve ser:
SHOW DATABASES WHERE `database` = 'xxxxx' -- safe way to test for existence
Observe que você precisa agrupar o banco de dados de nomes de colunas com reticulares; nesse caso, não é possível usar sintaxe relaxada.
Dessa forma, se o código que cria a variável 'xxxxx' retornar em branco, o SHOW DATABASES não retornará TODOS os bancos de dados, mas retornará um conjunto vazio.