Как увидеть все таблицы в базе данных HSQLDB?

Я обычно использую SQLDeveloper для просмотра базы данных, но я не мог заставить его работать с HSQLDB, и я не знаю, какие таблицы уже созданы ... Я предполагаю, что это вопрос конкретного производителя, а не простой SQL, но вопрос в том, как Могу ли я увидеть таблицы, чтобы их можно было отбросить / изменить?

Ответов (6)

Решение

Стандарт ANSI SQL92 для запроса метаданных базы данных содержится в INFORMATION_SCHEMA структурах данных.

Я не знаю, поддерживает ли ваша база данных это или нет, но попробуйте следующее:

SELECT *
FROM   INFORMATION_SCHEMA.TABLES

При дальнейшем исследовании выяснилось, что HSQLDB поддерживает INFORMATION_SCHEMA, но с немного нестандартным именованием.

Все таблицы SYSTEM_* добавлены к ним, поэтому в приведенном выше примере будет читаться

SELECT *
FROM   INFORMATION_SCHEMA.SYSTEM_TABLES

У меня нет возможности проверить это, и ответ был найден на sourceforge .

Ознакомьтесь с DBVisualiser и SQuirreL SQL Client . Оба они поддерживают HSQLDB и графический интерфейс для редактирования / изменения / просмотра таблиц.

Если вы находитесь в командной строке, вы можете попробовать Hsqldb SqlTool, описанный в Руководстве по SqlTool (hsqldb.org).

  • ~/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
  • Просмотрите специальные команды с помощью: \?ИЛИ:?

Удачи!

Используйте \dt команду, когда вы нажимаете >sql приглашение в командной строке для HSQLDB.

Отлично, спасибо! Искал в Интернете эту информацию. Будет получена информация только о полях ваших таблиц:

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

Вы запускаете запросы hsql database manager, не так ли? Если вы используете это, ниже вы можете дать несколько подсказок:

Выберите ваше соединение:

  1. тип: HSQL DATABASE ENGINE SERVER
  2. Водитель: jdbc.hsqldb.jdbcDriver
  3. URL: jdbc:hsqldb:hsql://localhost/

Затем вы просмотрите базу данных.