I usually use SQLDeveloper to browse the database, but I couldn\'t make it work with HSQLDB and I don\'t know which tables are already created… I guess it\'s a vendor-specif
Awesome, thanks! Been scouring the Web for that info. This will fetch only your tables' field info:
SELECT TABLE_NAME, COLUMN_NAME, TYPE_NAME, COLUMN_SIZE, DECIMAL_DIGITS, IS_NULLABLE FROM INFORMATION_SCHEMA.SYSTEM_COLUMNS WHERE TABLE_NAME NOT LIKE 'SYSTEM_%'
You can retrieve indexes, primary key info, all kinds of stuff from INFORMATION_SCHEMA.SYSTEM_TABLES
.
Gotta love oo documentation :p
Use the \dt
command when you hit the >sql
prompt in the command line for HSQLDB.
Check out DBVisualiser and SQuirreL SQL Client. Both of these have support for HSQLDB, and a GUI for editing/modifying/viewing the tables.
The ANSI SQL92 standard for querying database metadata is contained within the INFORMATION_SCHEMA
data structures.
I have no idea whether your database supports this or not, but try the following:
SELECT *
FROM INFORMATION_SCHEMA.TABLES
On further research, it appears that HSQLDB does support INFORMATION_SCHEMA
, but with slightly non-standard naming.
All of the tables have SYSTEM_*
prepended to them, so the above example would read
SELECT *
FROM INFORMATION_SCHEMA.SYSTEM_TABLES
I have no means of testing this, and the answer was found on sourceforge.
You run querying using hsql database manager
, are you?
If you use this, below may give some hints:
Select your connection:
HSQL DATABASE ENGINE SERVER
jdbc.hsqldb.jdbcDriver
jdbc:hsqldb:hsql://localhost/
Then, you will browse the database.
If you're on the command line, you may want to try the Hsqldb SqlTool, documented in the SqlTool Manual (hsqldb.org).
~/sqltool.rc
" and choose any DBNAME you want, substitute correct username and password, if known.
urlid DBNAME
url jdbc:hsqldb:/path/to/hsql/database
apt-get install hsqldb-utils
(on Ubuntu)hsqldb-sqltool DBNAME
# on Ubuntujava -jar YourHsqlJar.jar DBNAME
\dt
SELECT * FROM …;
:a
\q
\?
OR :?
Good luck!