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:
Unpack Zql.tar: tar xvf Zql.tar (or use WinZip if you are a Windows user).
Make your CLASSPATH variable point on the Zql/classes directory.
Type java Zql.ZqlParser, then some SQL statements (like select * from customer;) to make sure Zql is properly installed.
Go in the Zql/demo directory, see the README file and the ZDemo.java program to discover how you can use Zql to write your own SQL application!
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.
getSelect() will return a Vector of ZSelectItem, data structures that give information about the columns and/or operations requested (including SQL expression support, like in SELECT a+b FROM num;).
getFrom() will return a Vector of ZFromItem, data structures that give information about the tables involved in the query.
getWhere() will return a SQL expression, a data structure that represents ANTIQUES.BUYERID = ANTIQUEOWNERS.OWNERID AND ANTIQUES.ITEM = 'Chair' in the example above (the expression evaluator that comes with Zql can evaluate such expressions, for a given data tuple).
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值