HSQLDB (Hyper Structured Query Language Database) is a relational database management system written in Java. It has a JDBC driver and supports a large subset of SQL-92 and SQL:2008 standards. It offers a fast, small (around 1300 kilobytes in version 2.2) database engine which offers both in-memory and disk-based tables. Embedded and server modes are available.

Additionally, it includes tools such as a minimal web server, command line and GUI management tools (can be run as applets), and a number of demonstration examples. It can run on Java runtimes from version 1.1 upwards, including free Java runtimes such as Kaffe.

The HSQLDB is used for interactive user access to databases, including creation of a database, inserting or modifying data, or querying the database.

Main classes for the Hsqldb tools

  • org.hsqldb.util.DatabaseManager
  • org.hsqldb.util.DatabaseManagerSwing

When a tool is up and running, you can connect to a database (may be a new database) and use SQL commands to access and modify the data.
Tools can use command line arguments. You can add the command line argument --help to get a list of available arguments for these tools.

HSQLDB in 2014

HSQLDB is a mature product. The 2.3.0 series was launched last year with enhanced reliability and performance compared to previous releases. The latest version 2.3.2 improves on access and management of very large data sets. It supports up to 270 billion rows of data in a single database and a hot backup capability.


     »  HSQLDB Catalog - Data Storage

     »  Connect Java with HSQL DB Tutorial

     »  HSQLDB Testing Sample Programs