使用 SQL 查询探索 HSQL 数据库?
Posted
技术标签:
【中文标题】使用 SQL 查询探索 HSQL 数据库?【英文标题】:Exploring HSQL database using SQL queries? 【发布时间】:2013-01-01 20:43:37 【问题描述】:我是第一次使用 HSQL。我以前使用过mysql。它似乎缺少诸如 SHOW TABLES 之类的 MySQL 命令。不过,我仍然需要偶尔获得这样的信息。这有点相似,但它返回的表比我关心的要多(不是我自己的):
SELECT * FROM INFORMATION_SCHEMA.SYSTEM_TABLES where TABLE_TYPE='TABLE'
因此,出于这个原因,我想探索 HSQL 使用的元表,但我不知道如何。有人可以让我了解如何探索 HSQL 数据库以了解有关整体结构的信息。例如
-
如何找出 INFORMATION_SCHEMA.SYSTEM_TABLES 的列名?
我怎么可能一开始就找到 INFORMATION_SCHEMA?
如何找到 SYSTEM_TABLES 的“兄弟姐妹”?
如何获取列的详细信息,例如主键等?
等等
【问题讨论】:
为什么不使用显示所有这些的 SQL (GUI) 客户端? 我过渡到 HSQL 激发了我对了解如何通过命令行执行此操作的兴趣。当然,如果我只是对最终结果感兴趣,我可以按照你说的做。 【参考方案1】:HSQLDB 指南中介绍了其中一些信息:
http://hsqldb.org/doc/2.0/guide/databaseobjects-chapt.html#dbc_standard_views_info_schema
标准视图等效为INFORMATION_SCHEMA.TABLES
,您可以通过添加WHERE TABLE_SCHEMA <> 'INFORMATION_SCHEMA'
或类似条件过滤掉系统视图。
列详细信息在INFORMATION_SCHEMA.COLUMNS
中,而主键在KEY_COLUMN_USAGE
中列出。
【讨论】:
以上是关于使用 SQL 查询探索 HSQL 数据库?的主要内容,如果未能解决你的问题,请参考以下文章