如何查看HSQLDB数据库中的所有表?

时间:2009-02-26 17:21:33

标签: sql hsqldb

我通常使用SQLDeveloper浏览数据库,但我无法使用hsqldb,我不知道哪些表已经创建... 我想这是一个供应商特定的问题,而不是普通的sql,但关键是:我怎样才能看到表格,以便我可以删除/改变它们?

6 个答案:

答案 0 :(得分:40)

用于查询数据库元数据的ANSI SQL92标准包含在INFORMATION_SCHEMA数据结构中。

我不知道您的数据库是否支持此功能,但请尝试以下

SELECT *
FROM   INFORMATION_SCHEMA.TABLES

在进一步研究中,似乎hsqldb确实支持INFORMATION_SCHEMA,但略有非标准命名。

所有表都有SYSTEM_前置,所以上面的例子会读取

SELECT *
FROM   INFORMATION_SCHEMA.SYSTEM_TABLES

我无法对此进行测试,答案在sourceforge

上找到

答案 1 :(得分:13)

太棒了,谢谢!正在网上搜索该信息。 这将仅获取表格的字段信息:

SELECT TABLE_NAME, COLUMN_NAME, TYPE_NAME, COLUMN_SIZE, DECIMAL_DIGITS, IS_NULLABLE FROM INFORMATION_SCHEMA.SYSTEM_COLUMNS WHERE TABLE_NAME NOT LIKE 'SYSTEM_%'

您可以从INFORMATION_SCHEMA.SYSTEM_TABLES检索索引,主键信息和所有类似的东西。 得爱oo文件:p

答案 2 :(得分:4)

如果您在命令行中,可能需要尝试Hsqldb SqlTool,记录在http://hsqldb.org/doc/2.0/util-guide/sqltool-chapt.html

  • 将您的数据库连接信息放在“〜/ sqltool.rc”中并选择您想要的任何DBNAME,如果已知,请替换正确的用户名和密码。
    • urlid DBNAME
    • url jdbc:hsqldb:/ path / to / hsql / database
    • 用户名sa
    • 密码
  • 安装工具:apt-get install hsqldb-utils(在Ubuntu上)
  • 在Ubuntu上连接:hsqldb-sqltool DBNAME#
  • 其他系统的提示:java -jar YourHsqlJar.jar DBNAME
  • 显示表格:\ dt
  • 使用以下内容显示列:\ t TABLENAME
  • 标准查询,例如:SELECT * FROM ...;
  • 使用:: a
  • 编辑(追加)最后一个命令
  • 退出:\ q
  • 查看特殊命令:\?或者:?
祝你好运!

答案 3 :(得分:2)

当您在HSQLDB的命令行中点击“> sql”提示时,请使用“\ dt”命令。

答案 4 :(得分:1)

结帐DBVisualiserSQuirreL SQL Client。这两个都支持hsqldb,以及用于编辑/查看/修改表的GUI。

答案 5 :(得分:0)

您使用hsql database manager运行查询,是吗? 如果你使用它,下面可能会给出一些提示:

选择您的连接

  1. 输入:HSQL DATABASE ENGINE SERVER
  2. 驱动程序:jdbc.hsqldb.jdbcDriver
  3. 网址:jdbc:hsqldb:hsql://localhost/
  4. 然后你将浏览数据库。