No puede almacenar una consulta sql "en el motor mysql". Puedes guardarlo en una mesa, por ejemplo...
create table queries (
id int(11) primary key auto_increment,
name varchar(64) not null default '',
db varchar(64) not null default '',
user varchar(32) not null default '',
host varchar(255) not null default '%',
qry text not null,
modifiable tinyint(4) not null default '1',
changed timestamp not null default current_timestamp on update current_timestamp
) ;
... luego obtenga dichas consultas por db y nombre, por ejemplo, en una aplicación (PHP< .NET, Java, lo que sea) desde un menú desplegable, y ejecútelas directamente.
Sin embargo, MySQL admite cursores solo en procedimientos almacenados, y crear un procedimiento almacenado sobre la marcha cada vez que necesita ejecutarse sería terriblemente ineficiente.
Afortunadamente, un cursor no suele ser el mejor método disponible para consultas dinámicas.