做个项目要解析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.