¿Existen bibliotecas de código abierto (se prefiere cualquier lenguaje, python/PHP) que integrarán/analizarán una cadena SQL ANSI en sus diversos componentes?Análisis/Tokenización de una cadena que contiene un comando SQL
Es decir, si tuviera la siguiente cadena
SELECT a.foo, b.baz, a.bar
FROM TABLE_A a
LEFT JOIN TABLE_B b
ON a.id = b.id
WHERE baz = 'snafu';
me vuelva una estructura de datos/objeto algo así como
//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...
Reexpresado, estoy buscando el código de una paquete de base de datos que separa el comando SQL para que el motor sepa qué hacer con él. La búsqueda en Internet arroja muchos resultados sobre cómo analizar una cadena CON SQL. Eso no es lo que quiero.
que se dan cuenta de que podía glop a través del código de una base de datos de código abierto para encontrar lo que quiero, pero me esperaba algo un poco más ya hecha, (aunque si se sabe donde en el MySQL, PostgreSQL, fuente de SQLite a mira, no dudes en pasarlo)
Gracias!
http://stackoverflow.com/questions/1394998/parsing-sql-with-python – bernie