Кажется, есть несколько хороших парсеров.
В этой статье есть образец с использованием MS Entity Framework:
Синтаксический анализ кода SQL в C #
Похоже, кто-то другой свернул свой собственный и поместил его в Code Project:
http://www.codeproject.com/KB/dotnet/SQL_parser.aspx
Лично я бы пошел с решением Entity Framework, так как оно было создано и поддерживается MS, но, следовательно, оно также, вероятно, тесно связано с SQL Server. Поскольку вы смотрите на MySQL, возможно, вы захотите использовать собственное решение в Code Project, так как я уверен, что вы сможете создавать более индивидуальные решения в соответствии с грамматикой.
Я буду использовать это в ближайшее время (для Oracle, а не MySQL), поэтому, пожалуйста, сообщите сообществу, как работает решение!
UPDATE :
Я просто вернулся к этому и прочитал комментарии ... после дальнейшего размышления я бы действительно рекомендовал ANTLR, так как он поддерживает несколько грамматик. Еще раз, я не использовал это, так что будет приятно услышать, как это сработало, и решать вам.
https://stackoverflow.com/questions/76083/parsing-sql-in-net/76151