做个项目要解析mysql sql语句,使用开源的库发现问题很多,不太适合。推荐的几个项目都是项目里边集成的,语言也不符合,太麻烦。只能自己搞了,选择antlr的原因是官方提供mysql解析的语法,做起来比较简单。

 

安装:
curl -O http://www.antlr.org/download/antlr-4.5.3-complete.jar
然后写一个shell脚本antlr,用来执行命令
#!/bin/bash
java -cp .:./antlr-4.5.3-complete.jar:$CLASSPATH org.antlr.v4.Tool $*

从https://github.com/antlr/grammars-v4.git clone一些已经写好的sql语法文件。

 

生成Python版的解析代码。

./antlr  -Dlanguage=Python2  MySQLLexer.g4

./antlr  -Dlanguage=Python2 -visitor  MySQLParser.g4

第二个加参数是为了生成MySQLGrammarVisitor。

 

然后参照例子写了个函数包起来就能用。这工具做的好,原因就是不用研究太深就能用。

上一篇:
下一篇:

相关文章:

Categories: 博客记录

0 Responses so far.

Leave a Reply