Veja a documentação do MySQLCursor.execute().
Ele afirma que você pode passar um
multi
parâmetro que permite executar várias consultas em uma string. multi
é um segundo parâmetro opcional para a chamada execute():operation = 'SELECT 1; INSERT INTO t1 VALUES (); SELECT 2'
for result in cursor.execute(operation, multi=True):