Zql: a Java SQL parser


What is Zql ?

Zql is a SQL parser written in Java.
Zql parses SQL and fills in java structures representing SQL statements and expressions.

Zql can parse all the queries given as examples in the following SQL tutorial (downloaded from geocities.com).

See the Zql API documentation for more info about the Zql structures.

A SQL expression evaluator comes with Zql, so you can easily evaluate SQL expressions out of the parser.

Warning: No warranty !

Zql is no commercial product: feel free to use it, but we provide no warranty.
Zql APIs may be subject to changes, to enrich functionalities or fix bugs.

Click here for any bug report or suggestion.

How to use Zql ?

First of all, download Zql!
Then: Some SQL queries for heavy testing...

Note that java sources are NOT provided in the package, but you can contact me concerning the availability, licensing terms and conditions.

More details

The parser itself is written with JavaCC, a Java parser generator (like Unix's popular yacc generator).

It takes as input SQL statements (select, insert, update, delete, commit, rollback, set transaction), and fills in Java structures that represent the statements it parsed.

Example:
SELECT ANTIQUEOWNERS.OWNERLASTNAME, ANTIQUEOWNERS.OWNERFIRSTNAME
FROM ANTIQUEOWNERS, ANTIQUES
WHERE ANTIQUES.BUYERID = ANTIQUEOWNERS.OWNERID AND ANTIQUES.ITEM = 'Chair';

Will result in a ZqlQuery structure.
ZqlQuery's getSelect(), getFrom() and getWhere() methods will extract the SELECT, FROM and WHERE parts of the query.