Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



jueves, 4 de septiembre de 2014

Listar la tablas y vistas que tiene una base de datos sqlite

Listar la tablas y vistas que tiene una base de datos sqlite


Ampliando un programa, me he encontrado el siguiente problema: necesitaba añadir algunas nuevas tabla a una a la base de datos sqlite que tenía creada (y ya con datos).

Pues se me ha ocurrido hacerlo así:
1) Ver que las tablas existentes
2) Si falta la tabla nueva, la creo con una sentencia sql

El paso 1º es necesario para comprobar  si ya hemos hecho una vez el proceso, y no volver a repetir el paso 2º (crear la tabla nueva)

Pero ¿como veo las tablas que tiene la base de dato?

Con la sentencia:

SELECT * FROM sqlite_master where type="table"

Obtenemos la información de las tablas existentes.



El campo "name" indica el nombre, con lo cual ya puedo comprobar si existe la table, y en caso de no existir, crearla con la sentencia sql.

Para listar las vistas (view) la sentencia sería:

SELECT * FROM sqlite_master where type="view"


Fuentes:
http://www.ajpdsoft.com/modules.php?name=Foros&file=viewtopic&t=1641
http://stackoverflow.com/questions/1601151/how-do-i-check-in-sqlite-whether-a-table-exists