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

素晴らしいです、ありがとう!その情報を得るために Web を精査してきました。これにより、テーブルのフィールド情報のみが取得されます。

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 DBNAMEUbuntu では # で接続
  • 他のシステムへのヒント:java -jar YourHsqlJar.jar DBNAME
  • テーブルを表示:\dt
  • 次の列を表示: \d TABLENAME
  • 次のような標準クエリ:SELECT * FROM …;
  • 最後のコマンドを次のように編集 (追加) します。:a
  • 次で終了します。\q
  • 特別なコマンドを次のように表示: \?OR:?

幸運を!

于 2013-10-28T22:27:51.280 に答える
2

HSQLDB のコマンド ラインでプロンプトが表示された\dtときにコマンドを使用します。>sql

于 2015-12-24T15:05:21.253 に答える
1

DBVisualiserSQuirreL SQL Clientを確認してください。これらは両方とも HSQLDB をサポートし、テーブルを編集/変更/表示するための GUI を備えています。

于 2009-02-26T17:43:34.770 に答える
0

を使用してクエリを実行しhsql database managerていますか? これを使用すると、以下にいくつかのヒントが得られる場合があります。

接続を選択してください:

  1. タイプ:HSQL DATABASE ENGINE SERVER
  2. 運転者:jdbc.hsqldb.jdbcDriver
  3. URL:jdbc:hsqldb:hsql://localhost/

次に、データベースを参照します。

于 2011-08-02T04:30:08.180 に答える