Jag tror att du avser värdet av db_name ska infogas istället för %s , som en platshållare i C . Detta fungerar inte som du har upptäckt. Istället kan du göra något som:
create_statement = "CREATE DATABASE {:s}".format(db_name)
mycursor.execute(create_statement)
Om du gör det på detta sätt kan du använda tekniken i mer komplexa situationer där det finns mer SQL efter värdet du försöker ersätta.