Mostramos un ejemplo en Python sobre cómo crear base de datos SQLite, cómo trabajar con tablas SQLite en memoria y hacerlas persistentes en disco. El código fuente de ejemplo incluye tratamiento de base de datos SQLite en memoria para crear tablas, insertar registros, recorrer registros y mostrar el resultado. También incluye el mismo tratamiento pero de tablas SQLite en disco.

SQLite

SQLite es un sistema de gestión de bases de datos relacional compatible con ACID (permite realizar transacciones).

A diferencia de los sistema de gestión de bases de datos cliente-servidor, el motor de SQLite no es un proceso independiente con el que el programa principal se comunica. En lugar de eso, la biblioteca SQLite se enlaza con el programa pasando a ser parte integral del mismo. El programa utiliza la funcionalidad de SQLite a través de llamadas simples a subrutinas y funciones. Esto reduce la latencia en el acceso a la base de datos, debido a que las llamadas a funciones son más eficientes que la comunicación entre procesos.

El conjunto de la base de datos (definiciones, tablas, índices, y los propios datos), son guardados como un solo fichero estándar en el equipo. Este diseño simple se logra bloqueando todo el fichero de base de datos al principio de cada transacción.

En su versión 3, SQLite permite bases de datos de hasta 2 Terabytes de tamaño, y también permite la inclusión de campos tipo BLOB.

SQLite no necesita, por tanto, de instalación de software adicional ni de servicios corriendo en el equipo, únicamente se necesitará las librerías o paquetes de acceso a SQLite en cada lenguaje de programación. En el caso de este tutorial, usaremos Python como lenguaje y su librería sqlite3 (para ello realizaremos el import correspondiente, como explicaremos en el código fuente de ejemplo). Por lo tanto no requiere de servicios iniciados, ni de uso de puertos, ni nada por el estilo, es similar a una base de datos de escritorio tipo Access.

En ProyectoA encontrarás numerosos artículo sobre SQLite:

Python

Python es un lenguaje de programación. En el siguiente artículo explicamos cómo instalar el paquete necesario para poder programar en Python y para poder ejecutar las aplicaciones Python. También mostramos un IDE de desarrollo para Python:

Ejemplo de código fuente de acceso y tratamiento de tablas SQLite con Python

A continuación mostramos el código fuente completo de un ejemplo en Python que realiza las siguientes acciones:

  • Crea una base de datos SQLite en memoria (sin persistencia en disco).
  • Crea una tabla en esta base de datos.
  • Inserta registros en la tabla.
  • Obtiene los registros de la tabla y los muestra por pantalla.
  • Guarda la base de datos de memoria a disco en formato SQLite, la hace persistente.
  • Conecta con la base de datos SQLite de disco.
  • Obtiene el nombre de todas las tablas que contiene dicha base de datos SQLite.
  • Ejecuta un select y muestra todos los registros de la tabla creada anteriormente.

Podéis descargar el fichero .py que contiene el código fuente completo en el siguiente enlace:

El código fuente está comentado y descrita cada parte que se considera importante:

Compilando y probando programa Python con acceso a SQLite

El programa se ejecutará y realizará las tareas anteriores:

Compilando y probando programa Python con acceso a SQLite

Nos habrá creado un fichero en disco, llamado bd_disco.sqlite, que es la base de datos SQLite que contiene la tabla facturacion y sus registros:

Compilando y probando programa Python con acceso a SQLite