Como ver todas as tabelas em um banco de dados HSQLDB?
Pergunta
Eu costumo usar SQLDeveloper para navegar na base de dados, mas eu não poderia fazê-lo funcionar com HSQLDB e eu não sei quais tabelas já estão criadas ... Eu acho que é uma questão específica do fornecedor e SQL não simples, mas a questão é: como eu posso ver as tabelas para que eu possa cair / alterá-los
Solução
O padrão ANSI SQL92 para pesquisar os metadados de banco de dados está contido dentro das estruturas de dados INFORMATION_SCHEMA
.
Eu não tenho idéia se o seu banco de dados suporta isso ou não, mas tente o seguinte:
SELECT *
FROM INFORMATION_SCHEMA.TABLES
No prosseguimento da investigação, parece que HSQLDB faz suporte INFORMATION_SCHEMA
, mas com nomes um pouco fora do padrão.
Todas as tabelas têm SYSTEM_*
prefixado para eles, de modo que o exemplo acima iria ler
SELECT *
FROM INFORMATION_SCHEMA.SYSTEM_TABLES
Eu não têm meios de testar isso, ea resposta foi encontrada no sourceforge .
Outras dicas
Awesome, thanks! Foi vasculhando a web para essa informação. Esta operação irá buscar apenas suas tabelas informações campo:
SELECT TABLE_NAME, COLUMN_NAME, TYPE_NAME, COLUMN_SIZE, DECIMAL_DIGITS, IS_NULLABLE FROM INFORMATION_SCHEMA.SYSTEM_COLUMNS WHERE TABLE_NAME NOT LIKE 'SYSTEM_%'
Você pode recuperar índices, informações chave primária, todos os tipos de coisas de INFORMATION_SCHEMA.SYSTEM_TABLES
.
Tenho documentação amor oo: p
Se você é na linha de comando, você pode querer tentar o Hsqldb SqlTool, documentado no manual SqlTool (hsqldb.org).
- Coloque suas informações de conexão banco de dados em "
~/sqltool.rc
" e escolher qualquer DBNAME quiser, substituto correto nome de usuário e senha, se conhecido.-
urlid DBNAME
-
url jdbc:hsqldb:/path/to/hsql/database
- username SA
- password
-
- ferramenta com Instalar:
apt-get install hsqldb-utils
(no Ubuntu) - Connect with
hsqldb-sqltool DBNAME
# no Ubuntu - Dica para outros sistemas:
java -jar YourHsqlJar.jar DBNAME
- Mostrar tabelas com:
\dt
- Mostrar colunas com: \ d TABLENAME
- Padrão consultas como:
SELECT * FROM …;
- Editar (append) último comando com:
:a
- Sair com:
\q
- Ver comandos especiais com:
\?
OU:?
Boa sorte!
Use o comando \dt
quando você bate a >sql
rápida na linha de comando para HSQLDB.
Confira DBVisualiser e SQuirreL SQL cliente. Ambos têm suporte para HSQLDB, e uma interface gráfica para a edição / modificar / visualizar as tabelas.
Você executar a consulta usando hsql database manager
, não é?
Se você usar isso, abaixo podem dar algumas dicas:
Seleccione a sua ligação:
- Tipo:
HSQL DATABASE ENGINE SERVER
- Driver:
jdbc.hsqldb.jdbcDriver
- URL:
jdbc:hsqldb:hsql://localhost/
Então, você vai procurar o banco de dados.