私は通常 SQLDeveloper を使用してデータベースを参照しますが、HSQLDB で動作させることができず、どのテーブルが既に作成されているかわかりません… 単純な SQL ではなくベンダー固有の質問だと思いますが、要点は次のとおりです。テーブルを削除/変更できるようにテーブルを表示できますか?
6 に答える
データベース メタデータのクエリに関する ANSI SQL92 標準は、INFORMATION_SCHEMA
データ構造内に含まれています。
データベースがこれをサポートしているかどうかはわかりませんが、次のことを試してください。
SELECT *
FROM INFORMATION_SCHEMA.TABLES
さらに調査すると、HSQLDB は をサポートしているように見えますINFORMATION_SCHEMA
が、わずかに非標準的な命名が使用されています。
すべてのテーブルがSYSTEM_*
先頭に追加されているため、上記の例は次のようになります。
SELECT *
FROM INFORMATION_SCHEMA.SYSTEM_TABLES
これをテストする手段がなく、答えはsourceforgeで見つかりました。
素晴らしいです、ありがとう!その情報を得るために 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
コマンド ラインを使用している場合は、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
- 特別なコマンドを次のように表示:
\?
OR:?
幸運を!
HSQLDB のコマンド ラインでプロンプトが表示された\dt
ときにコマンドを使用します。>sql
DBVisualiserとSQuirreL SQL Clientを確認してください。これらは両方とも HSQLDB をサポートし、テーブルを編集/変更/表示するための GUI を備えています。
を使用してクエリを実行しhsql database manager
ていますか? これを使用すると、以下にいくつかのヒントが得られる場合があります。
接続を選択してください:
- タイプ:
HSQL DATABASE ENGINE SERVER
- 運転者:
jdbc.hsqldb.jdbcDriver
- URL:
jdbc:hsqldb:hsql://localhost/
次に、データベースを参照します。