是否有任何开源库(任何语言,
python /
PHP首选)将ANSI SQL字符串标记/解析为其各种组件?
也就是说,如果我有以下字符串
SELECT a.foo, b.baz, a.bar
FROM TABLE_A a
LEFT JOIN TABLE_B b
ON a.id = b.id
WHERE baz = 'snafu';
我会找回类似的数据结构/对象
//fake PHPish
$results['select-columns'] = Array[a.foo,b.baz,a.bar];
$results['tables'] = Array[TABLE_A,TABLE_B];
$results['table-aliases'] = Array[a=>TABLE_A, b=>TABLE_B];
//etc...
重申一下,我正在寻找数据库包中的代码,它将SQL命令分开,以便引擎知道如何处理它.搜索互联网会产生很多关于如何使用SQL解析字符串的结果.那不是我想要的.
我意识到我可以浏览一个开源数据库的代码来找到我想要的东西,但我希望能做一些更准备好的东西,(虽然如果你知道在MySQL,PostgreSQL,SQLite源代码的哪个地方,请随意通过它一起)
谢谢!