40

我通常使用 SQLDeveloper 来浏览数据库,但我无法使其与 HSQLDB 一起使用,而且我不知道已经创建了哪些表……我想这是一个特定于供应商的问题,而不是普通的 SQL,但重点是:如何我可以查看表格以便删除/更改它们吗?

4

6 回答 6

48

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

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

SELECT *
FROM   INFORMATION_SCHEMA.TABLES

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

所有表格都已SYSTEM_*添加到它们之前,因此上面的示例将显示为

SELECT *
FROM   INFORMATION_SCHEMA.SYSTEM_TABLES

我无法对此进行测试,答案是在sourceforge上找到的。

于 2009-02-26T17:27:22.440 回答
14

很好,谢谢!一直在网上搜索该信息。这将只获取您的表的字段信息:

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

于 2009-07-12T10:11:36.767 回答
4

如果您在命令行上,您可能想尝试在SqlTool 手册(hsqldb.org) 中记录的 Hsqldb SqlTool。

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

祝你好运!

于 2013-10-28T22:27:51.280 回答
2

当您在 HSQLDB 的命令行中\dt点击提示符时使用该命令。>sql

于 2015-12-24T15:05:21.253 回答
1

查看DBVisualiserSQuirreL SQL 客户端。这两者都支持 HSQLDB,以及用于编辑/修改/查看表的 GUI。

于 2009-02-26T17:43:34.770 回答
0

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

选择您的连接:

  1. 类型:HSQL DATABASE ENGINE SERVER
  2. 司机:jdbc.hsqldb.jdbcDriver
  3. 网址:jdbc:hsqldb:hsql://localhost/

然后,您将浏览数据库。

于 2011-08-02T04:30:08.180 回答