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():
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:
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:
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:
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():
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:
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:
connection.close()
**Ejemplo completo


