Как увидеть все таблицы в базе данных HSQLDB?
Я обычно использую SQLDeveloper для просмотра базы данных, но я не мог заставить его работать с HSQLDB, и я не знаю, какие таблицы уже созданы ... Я предполагаю, что это вопрос конкретного производителя, а не простой SQL, но вопрос в том, как Могу ли я увидеть таблицы, чтобы их можно было отбросить / изменить?
Ответов (6)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
- Просмотрите специальные команды с помощью:
\?
ИЛИ:?
Удачи!
Отлично, спасибо! Искал в Интернете эту информацию. Будет получена информация только о полях ваших таблиц:
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