¿Cómo ver todas las tablas en una base de datos HSQLDB?
Normalmente uso SQLDeveloper para explorar la base de datos, pero no pude hacer que funcione con HSQLDB y no sé qué tablas ya están creadas... Supongo que es una pregunta específica del proveedor y no de SQL simple, pero el punto es: ¿cómo? ¿Puedo ver las tablas para poder eliminarlas o modificarlas?
El estándar ANSI SQL92 para consultar metadatos de bases de datos está contenido dentro de las INFORMATION_SCHEMA
estructuras de datos.
No tengo idea de si su base de datos admite esto o no, pero intente lo siguiente:
SELECT *
FROM INFORMATION_SCHEMA.TABLES
Investigando más a fondo, parece que HSQLDB sí admite INFORMATION_SCHEMA
, pero con nombres ligeramente no estándar.
Todas las tablas SYSTEM_*
las tienen antepuestas, por lo que el ejemplo anterior se leería
SELECT *
FROM INFORMATION_SCHEMA.SYSTEM_TABLES
No tengo forma de probar esto y la respuesta se encontró en sourceforge .
¡Genial gracias! He estado buscando en la Web esa información. Esto recuperará solo la información de campo de sus tablas:
SELECT TABLE_NAME, COLUMN_NAME, TYPE_NAME, COLUMN_SIZE, DECIMAL_DIGITS, IS_NULLABLE FROM INFORMATION_SCHEMA.SYSTEM_COLUMNS WHERE TABLE_NAME NOT LIKE 'SYSTEM_%'
Puede recuperar índices, información de clave principal y todo tipo de cosas de INFORMATION_SCHEMA.SYSTEM_TABLES
. Me encanta la documentación :p
Si está en la línea de comandos, es posible que desee probar Hsqldb SqlTool, documentado en el Manual de SqlTool (hsqldb.org).
- Coloque la información de conexión de su base de datos en "
~/sqltool.rc
" y elija cualquier DBNAME que desee, sustituya el nombre de usuario y la contraseña correctos, si los conoce.urlid DBNAME
url jdbc:hsqldb:/path/to/hsql/database
- nombre de usuario SA
- contraseña
- Instale la herramienta con:
apt-get install hsqldb-utils
(en Ubuntu) - Conéctese con
hsqldb-sqltool DBNAME
# en Ubuntu - Consejo para otros sistemas:
java -jar YourHsqlJar.jar DBNAME
- Mostrar tablas con:
\dt
- Mostrar columnas con: \d TABLENAME
- Consultas estándar como:
SELECT * FROM …;
- Edite (añada) el último comando con:
:a
- Dejar de fumar con:
\q
- Ver comandos especiales con:
\?
O:?
¡Buena suerte!
Utilice el \dt
comando cuando presione el >sql
símbolo en la línea de comando para HSQLDB.