Skutečnost, že MySQLPython používá standardní značku formátu řetězce ("%") pro zástupné symboly proměnných v dotazech, může být matoucí.
Zástupný symbol pro dotazy v db-api pythonu je pro hodnoty používá se v where klauzule a insert a update příkazy a jsou správně upraveny / escapovány / citovány db-api, aby se zabránilo vkládání SQL atd. Neměly by být použity pro názvy tabulek nebo polí.
Zde tedy chcete vytvořit dotaz pomocí formátování řetězce:
sql = 'SHOW TABLES FROM %s;' % (db_name[0],)
cursor.execute(sql)
Od db_name[0] pochází z důvěryhodného zdroje, není zde žádný bezpečnostní problém.