Il semble qu'il y ait quelques bons analyseurs.
Cet article SO contient un exemple utilisant Entity Framework de MS :
Analyse du code SQL en C#
On dirait que quelqu'un d'autre a lancé le sien et l'a mis sur Code Project :
http ://www.codeproject.com/KB/dotnet/SQL_parser.aspx
Personnellement, j'opterais pour la solution Entity Framework, car elle a été créée et maintenue par MS, mais elle est donc probablement étroitement couplée à SQL Server. Puisque vous regardez MySQL, vous voudrez peut-être opter pour la solution personnalisée sur Code Project, car je suis sûr que vous pourrez ensuite coder dans des solutions plus personnalisées en fonction de la grammaire.
Je l'utiliserai bientôt (pour Oracle, pas pour MySQL), alors faites savoir à la communauté comment la solution fonctionne !
MISE À JOUR :
Je viens de revenir là-dessus et de lire les commentaires... après réflexion, je recommanderais vraiment ANTLR, car il prend en charge plusieurs grammaires. Encore une fois, je ne l'ai pas utilisé, donc ce sera bien d'entendre comment cela a fonctionné, et c'est à vous de décider.
https://stackoverflow.com/questions/76083/parsing-sql-in-net/76151