Seems that there's a few good parsers out there.
This SO article has a sample using MS's Entity Framework:
http://stackoverflow.com/questions/589096/parsing-sql-code-in-c
Seems someone else rolled their own and put it up on Code Project:
http://www.codeproject.com/KB/dotnet/SQL_parser.aspx
Personally, I'd go with the Entity Framework solution, since it was created and maintained by MS, but it also therefore probably is closely coupled with SQL Server. Since you're looking at MySQL, you may want to go with the custom solution on Code Project, as I'm sure you can then code in more custom solutions as the grammar requires.
I'll be using this soon (for Oracle, not MySQL), so please let the community know how the solution works out!
UPDATE:
I just came back to this and read the comments... upon further reflection, I'd really recommend ANTLR, since it supports multiple grammars. Once again, I haven't used it, so it'll be good to hear how it worked out, and it's up to you to decide.
http://stackoverflow.com/questions/76083/parsing-sql-in-net/76151