做个项目要解析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。
 
然后参照例子写了个函数包起来就能用。这工具做的好,原因就是不用研究太深就能用。
            
            
              
              
              
              上一篇: ubuntu挂载nfs共享目录
              
              
              下一篇: mysql语法解析之使用jsqlparser
              
            
0 Responses so far.