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