Acceso a bases de datos SQLite con Tkinter en Python: Manipulación de datos locales.

Acceso a bases de datos SQLite con Tkinter en Python: Manipulación de datos locales

Introducción

SQLite es un sistema de gestión de bases de datos relacional de código abierto y de un solo archivo. Es una opción popular para aplicaciones pequeñas y de desarrollo, ya que es fácil de instalar y usar.

Tkinter es un kit de herramientas de interfaz de usuario de Python. Se utiliza para crear interfaces gráficas de usuario (GUI) simples y eficientes.

En este tutorial, aprenderemos a acceder a bases de datos SQLite con Tkinter en Python. Veremos cómo crear una base de datos, insertar datos, consultar datos y actualizar datos.

Requisitos

Para seguir este tutorial, necesitarás:

  • Python 3
  • SQLite
  • Tkinter

Instalando SQLite

Para instalar SQLite, ejecuta el siguiente comando en la terminal:

sudo apt install sqlite3

Instalando Tkinter

Tkinter viene incluido con Python. Para verificar que está instalado, ejecuta el siguiente comando en la terminal:

python -c "import tkinter"

Si recibes un mensaje de error, instala Tkinter ejecutando el siguiente comando:

sudo apt install python3-tk

Creando una base de datos

Para crear una base de datos SQLite, utiliza el siguiente comando:

sqlite3 mi_base_de_datos.db

Esto abrirá una interfaz de línea de comandos SQLite. Para crear una tabla, ejecuta el siguiente comando:

CREATE TABLE personas (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  nombre VARCHAR(255),
  apellido VARCHAR(255)
);

Este comando creará una tabla llamada personas con tres columnas:

  • id: Una columna de clave principal que se incrementa automáticamente.
  • nombre: Una columna de texto para el nombre de la persona.
  • apellido: Una columna de texto para el apellido de la persona.

Para salir de la interfaz de línea de comandos SQLite, escribe .quit y presiona Enter.

Creando una GUI con Tkinter

Para crear una GUI con Tkinter, importa el módulo tkinter y crea una instancia de la clase Tk():

Python
import tkinter as tk

root = tk.Tk()

Esto creará una ventana vacía.

Para agregar widgets a la GUI, utiliza los métodos de la clase Tk(). Por ejemplo, para agregar un botón a la GUI, utiliza el siguiente código:

Python
button = tk.Button(root, text="Hola mundo")
button.pack()

Este código agregará un botón con el texto «Hola mundo» a la GUI.

Conectando a la base de datos

Para conectar a la base de datos, importa el módulo sqlite3 y crea una conexión a la base de datos:

Python
import sqlite3

connection = sqlite3.connect("mi_base_de_datos.db")

Este código creará una conexión a la base de datos mi_base_de_datos.db.

Insertando datos

Para insertar datos en la base de datos, utiliza el método execute() de la conexión:

Python
connection.execute("INSERT INTO personas (nombre, apellido) VALUES ('Juan', 'Perez')")

Este código insertará un registro en la tabla personas con el nombre Juan y el apellido Perez.

Consultando datos

Para consultar datos de la base de datos, utiliza el método execute() de la conexión y el método fetchall():

Python
cursor = connection.execute("SELECT * FROM personas")
personas = cursor.fetchall()

Este código devolverá una lista de todos los registros de la tabla personas.

Actualizando datos

Para actualizar datos de la base de datos, utiliza el método execute() de la conexión:

Python
connection.execute("UPDATE personas SET nombre='Maria' WHERE id=1")

Este código actualizará el nombre del registro con el ID 1 a Maria.

Cerrando la conexión

Para cerrar la conexión a la base de datos, utiliza el método close() de la conexión:

Python
connection.close()

**Ejemplo completo