Parece que hay algunos buenos analizadores por ahí.
Este artículo de SO tiene una muestra del uso de Entity Framework de MS:
Analizando código SQL en C#
Parece que alguien más rodó el suyo y lo puso en Code Project:
http ://www.codeproject.com/KB/dotnet/SQL_parser.aspx
Personalmente, elegiría la solución Entity Framework, ya que fue creada y mantenida por MS, pero probablemente también esté estrechamente relacionada con SQL Server. Dado que está viendo MySQL, es posible que desee optar por la solución personalizada en Code Project, ya que estoy seguro de que luego podrá codificar en más soluciones personalizadas según lo requiera la gramática.
Lo usaré pronto (para Oracle, no para MySQL), ¡así que hágale saber a la comunidad cómo funciona la solución!
ACTUALIZAR :
Regresé a esto y leí los comentarios... luego de una mayor reflexión, realmente recomendaría ANTLR, ya que admite múltiples gramáticas. Una vez más, no lo he usado, así que será bueno saber cómo funcionó, y tú decides.
https://stackoverflow.com/questions/76083/parsing-sql-in-net/76151