top of page
Buscar

SQLite

Foto del escritor: Fabrizzio ABFabrizzio AB

Actualizado: 2 dic 2023

SQLite es un sistema de gestión de bases de datos relacional (RDBMS, por sus siglas en inglés) que se implementa como una biblioteca de software que proporciona un motor de base de datos SQL independiente del servidor. A diferencia de sistemas de gestión de bases de datos más grandes y complejos como MySQL, PostgreSQL o Oracle, SQLite se caracteriza por ser ligero, eficiente y no requiere un servidor dedicado, ya que opera directamente sobre un archivo local.

Aquí tienes algunas características y conceptos clave de SQLite:

  • Autónomo y sin servidor:

    • SQLite opera como una biblioteca dentro de la aplicación que lo utiliza, no como un servidor independiente. No requiere configuraciones complicadas o administración de un servidor de base de datos.


  • Archivo de base de datos único:

    • La base de datos SQLite se almacena en un solo archivo, lo que facilita la portabilidad y el intercambio de datos.


  • Soporte para SQL:

    • SQLite admite el lenguaje de consulta estructurado (SQL), lo que permite realizar operaciones de creación, consulta, modificación y eliminación de datos en la base de datos.


  • Tipos de datos:

    • Ofrece varios tipos de datos comunes, como INTEGER, TEXT, REAL (números de punto flotante), BLOB (datos binarios), etc.

SQLite presenta varias ventajas que lo hacen una elección sólida en ciertos escenarios. Aquí algunas de sus principales ventajas:


Ligero y fácil de usar:

  • SQLite es una biblioteca compacta y liviana, fácil de integrar y usar. No requiere una configuración compleja o administración de servidor, lo que simplifica su implementación.


Sin servidor:

  • No hay necesidad de configurar un servidor dedicado. SQLite opera directamente en el archivo de la base de datos, lo que simplifica la administración y reduce los requisitos de infraestructura.


Sin necesidad de instalación:

  • Puede ejecutarse sin necesidad de instalación formal, lo que facilita la distribución y el uso en entornos con restricciones.


Portabilidad:

  • La base de datos SQLite se almacena en un solo archivo, lo que facilita la portabilidad y el intercambio de datos entre diferentes sistemas.


Soporte SQL completo:

  • Aunque es una base de datos liviana, SQLite ofrece un conjunto completo de comandos SQL, lo que facilita la realización de operaciones de consulta y manipulación de datos.


Rendimiento eficiente para cargas de trabajo ligeras:

  • SQLite es eficiente para cargas de trabajo más ligeras y situaciones donde no se requiere escalabilidad masiva. Su rendimiento puede ser adecuado para aplicaciones móviles y de escritorio.


Transacciones ACID:

  • Garantiza la integridad de los datos utilizando transacciones ACID, proporcionando consistencia y durabilidad de datos.


Bajo consumo de recursos:

  • Requiere pocos recursos en comparación con sistemas de gestión de bases de datos más grandes, lo que lo hace adecuado para entornos con recursos limitados.

Es importante tener en cuenta que, si bien SQLite es adecuado para muchas aplicaciones, puede no ser la mejor opción para todas las situaciones. Su elección dependerá de los requisitos específicos de tu proyecto y las características particulares de tu aplicación.


Ejemplo:

# Importar las bibliotecas necesarias

import sqlite3

from google.colab import drive

import pandas as pd


# Montar Google Drive en Google Colab

drive.mount('/content/drive')


# Establecer la ruta de acceso a Google Drive

drive_path = '/content/drive/My Drive/'


# Conectar a la base de datos SQLite en Google Drive

conexion = sqlite3.connect(drive_path + 'fabrizziodata.db')


# Crear un cursor para interactuar con la base de datos

cursor = conexion.cursor()


# Ejecutar una consulta para crear una tabla (si no existe)

cursor.execute('''CREATE TABLE IF NOT EXISTS usuarios (

id INTEGER PRIMARY KEY,

nombre TEXT,

peso INTEGER,

pais TEXT)''')


# Insertar datos en la tabla "usuarios"

usuarios = [

('Jose', 78, 'Francia'),

('Julian', 67, 'Inglaterra'),

('Lionel', 89, 'Argentina'),

("Diego", 72, "Vietnam")]

cursor.executemany("INSERT INTO usuarios (nombre, peso, pais) VALUES (?, ?, ?)", usuarios)


# Guardar los cambios realizados en la base de datos

conexion.commit()


# Realizar una consulta para obtener todos los datos de la tabla "usuarios"

cursor.execute("SELECT * FROM usuarios")


# Convertir los resultados de la consulta en un DataFrame de Pandas

df = pd.DataFrame(cursor.fetchall(), columns=["id", "nombre", "peso", "pais"])


# Mostrar el DataFrame con los datos

print(df)


# Cerrar el cursor y la conexión a la base de datos

cursor.close()

conexion.close()

En sqlite3:





 
 
 

Entradas recientes

Ver todo

Comments


bottom of page