SQLite: Introducción. ¿Qué es?
SQLite es una biblioteca escrita en C que implementa un motor de base de datos SQL.
Es un sistema de gestión de bases de datos relacional, como son MySQL o PostgreSQL por ejemplo, pero con la diferencia de que se basa en ficheros, es decir, respecto a los anteriores u otros sistemas de bases de datos, SQLite se almacena en un solo y único archivo en el disco y no requiere un servidor por separado para poder operar, es decir, no necesitas configurar nada.
Debido a su sencillez, es ideal para usarse en dispositivos empotrados o en equipos con pocos recursos como, por ejemplo, los smartphones. Así que es un gran candidato para aplicaciones móviles o proyectos pequeños.
Todo esto se traduce en varias ventajas:
- Es ligera, pequeña y casi no requiere memoria.
- Es portable, ya que toda la base de datos se almacena en un único archivo (.db) que podemos copiar a una memoria usb por ejemplo, y llevarla a otro lugar o sistema operativo.
- Es fácil de usar, ya que no necesitas configurar ningún servidor para usarla.
Pero también tiene algunas limitaciones o desventajas:
- El tamaño: Aunque puede manejar bases de datos grandes, no es adecuada para bases de datos de varios terabytes.
- Falta de características o funcionalidades avanzadas que si tienen otras bases de datos como MySQL o PostgreSQL. Por ejemplo, no tiene algo “tan sencillo” como un sistema de permisos de usuarios avanzado entre otras.
- Concurrencia: No tiene la capacidad suficiente para manejar un alto volumen de múltiples operaciones al mismo tiempo. En otras palabras, no está optimizada para manejar un alto volumen de operaciones de escritura simultáneas.
Instalación.
Respecto a su instalación, decir que normalmente ya viene instalado en la mayoría de sistemas operativos, pero si no es tu caso, es tan fácil como:
En Windows:
- Ir a https://www.sqlite.org/download.html y descargar sqlite-tools como en la imagen:
A continuación, extraes el contenido en una carpeta de tu preferencia. Yo recomiendo en la carpeta del disco duro. Por ejemplo C:\sqlite3.
Y, por último, desde la terminal (cmd) ejecutas “sqlite3”.
Si sale algo como:
Indica que ya lo tienes instalado.
En Linux:
- En la terminal escribe: sudo apt-get install sqlite3
Una vez instado SQLite, puedes crear una base de datos escribiendo en la consola o terminal lo siguiente:
sqlite3 nombre_de_la_base_de_datos.db
Y, a partir de aquí, ya puedes operar con SQLite usando consultas SQL.
Sé que desde la terminal puede ser un poco “engorroso”, feo… no sé, llámalo como quieras, pero a lo mejor prefieres usar un programa con interfaz gráfica para gestionar la base de datos. Si, algo así como… phpMyAdmin para MySQL, ¿no?
Pues bien, la solución es instalar DB Browser for SQLite o SQLiteStudio.
Estos programas son una herramienta gráfica para poder gestionar SQLite visualmente.
Por último y para finalizar el artículo, decir que, si quieres usar SQLite en Python, basta con importar el modulo “sqlite3”, ya que éste viene incluido en la versión estándar de Python.
Un ejemplo super, super sencillo podría ser:
import sqlite3 # Conectar a la base de datos conn = sqlite3.connect('base_de_datos_de_prueba.db') cursor = conn.cursor() # Consultar registros cursor.execute('SELECT * FROM usuarios') filas = cursor.fetchall() for fila in filas: print(fila) # Cerrar la conexión conn.close()
Y si lo quieres usar en PHP, debes habilitar la extensión pdo_sqlite sino lo está ya, y usar la extensión PDO.