Som #3 er inde på, så bør din umiddelbare fejlhåndtering ligge i din SQL.
Du laver et tjek på, om databasen findes, inden du forsøger at oprette den.
Hvis ikke det er tanken, at den skal fjernes og så oprettes igen, ville jeg lave en håndtering af det i min SQL, således du får en returncode der fortæller det.
I sidste instans kan du så have en except på, at din SQL fejler.
Med andre ord så bør du håndtere de fejl du kender til, og som du kodemæssigt kan komme videre fra, inden du laver try-except
Udover det, har du så prøvet at kigge på hvordan de gør det her:
https://dev.mysql.com[...]
Jeg er ikke python programmør, men det ser umiddelbart temmelig tilforladeligt ud, at lave en fornuftig håndtering.
--
http://hamdentykke.dk[...]
http://onsdagssnegl.dk[...]