https://github.com/xwb1989/sqlparser
来自Vitess的SQL词法解析器, 被单独抽出来做为一个独立库,可以用来实现很多好玩的东西
Vitess使用SQL的词法解析来实现像数据自动分片这类功能.
sql := "SELECT * FROM test_table WHERE a = 'abc'"
stmt, err := sqlparser.Parse(sql)
if err != nil {
// Do something with the err
}
// Otherwise do something with stmt
switch stmt := stmt.(type) {
case *sqlparser.Select:
_ = stmt
case *sqlparser.Insert:
}