Curso de TKINTER desde cero

Introducción a MariaDB con Python y Tkinter

Capítulo 17: Crear y conectar bases de datos con MariaDB

En este capítulo vamos a ver una pequeña introducción con las bases de datos. En concreto con MariaDB.

Tampoco te preocupes si no sabes nada de bases de datos es bastante recomendable al menos que tengas unos conocimientos básicos pero intentaré hacerlo lo más sencillo posible y desde cero para que puedas seguir este curso sin problemas.

¿Para qué sirven las bases de datos como las de MariaDB?

Las bases de datos nos van a servir para muchas cosas. Como primer ejemplo que se me ocurre, un programa que sea capaz de almacenar los clientes que tiene un negocio.
Con esto, ya puedes empezar a ver las posibilidades que tiene. Se pueden construir bases de datos para información sobre las compras que han hecho, sobre si son clientes que gastan más o menos. Que productos han comprado y cuando lo han hecho. Si han habido incidencias con la garantía de alguna de sus compras y muchas cosas más según las necesidades de cada empresa.

En este capítulo, concretamente, lo que vamos a hacer es simplemente crear una base de datos con phpMyAdmin que es una de las formas más fácil de hacerlo y también instalaremos el módulo mariadb para Python. Con él haremos una prueba de conexión a la base de datos.

Instalación de XAMPP

Lo más sencillo para tener instalado todo lo necesario y que tu equipo se convierta en servidor web. Para lograr esto, es tan fácil como instalar el paquete llamado XAMPP, hay otras alternativas. Si tienes dudas sobre esto, déjame un comentario.
El el vídeo puedes ver como se realiza la instalación y cómo usarlo.

Iniciar el servicio Apache

Una vez instalado XAMPP, tienes que tener el servicio Apache ejecutado para poder acceder a phpMyAdmin. El servicio MySQL deberá estar activado para poder utilizar las bases de datos.

Panel de control XAMPP

Si tienes los dos servicios en verde, está todo perfecto.
Abrimos el navegador y aquí ponemos: localhost/phpmyadmin.

localhost/phpmyadmin

Creando una base de datos con phpMyAdmin

Crear una base de datos aquí es muy fácil.
Vas a la pestaña "SQL" para crearla con código SQL o la puedes hacer de forma gráfica por así decirlo.

Para hacerlo con código, tienes que saber SQL, aquí te voy a enseñar lo necesario para las cosas que haremos en el curso, pero si quieres aprender más de bases de datos déjamelo en los comentarios y si hay muchos haré de aquí un tiempo un curso dedicado a SQL.

Bien, continuemos. La instrucción sql para esto es muy sencilla:

CREATE DATABASE prueba;

Tras escribir la instrucción SQL pulsa el botón continuar para ejecutarlo y hacerlo efectivo.
Por cierto, el punto y coma aquí no es necesario, ya que es muy corta la instrucción, si no lo pones funcionará igual, pero te recomiendo que te acostumbres a ponerlo siempre.

create database sql

Si el mensaje devuelto está en color verde es que todo ha salido bien.

create database

Aparecerá en la barra lateral junto a otras bases de datos creadas por defecto durante la instalación.

create database

Eliminar una base de datos

Si queremos eliminar una base de datos, podemos hacerlo con la siguiente instrucción SQL:

DROP DATABASE prueba;

En el vídeo podrás ver todo esto con más detalle y también la forma gráfica de hacer todo esto con phpMyAdmin.

Conectar base de datos MariaDB desde Python

La base de datos ya está lista, ya podemos conectarnos a ella desde Python, para ello necesitamos cierta información que te voy a ir diciendo.

La mejor forma de hacer esto es poner un bloque try, no es obligatorio, pero así contemplamos posibles fallos de conexión y cómo solucionarlos.

Hay que instalar con PIP MariaDB:

pip install mariadb

Importamos el módulo mariadb

import mariadb

Se guardan en una variable todos los parámetros de conexión a la base de datos.

try:
	conexion = mariadb.connect(
		user="root",
		password="",
		host="127.0.0.1",
		port=3306,
		database="prueba"
	)

Todos estos datos salen de algún lado, pues bien, el usuario (user) por defecto es root es el que hay puesto que no hemos creado ninguno aún.
La contraseña (password) por defecto está en blanco, así que es un string vacío.
El host es la dirección del servidor, puesto que estamos trabajando en nuestro propio equipo, la dirección en nombre DNS es localhost que se traduce en IP como 127.0.0.1.
El puerto (port) por defecto es 3306.
Y en database (base de datos) ponemos el nombre de la base de datos a la que queremos conectarnos.

Comprobar conexión con la base de datos

Para que veas si se conectó, puedes hacer que aparezca un widget Label() que te lo diga:

Label(root, text="Se conecto correctamente a " + conexion.database).pack()

Y finalmente el bloque except que te avise en caso de que ocurra un error y te diga cuál es:

except mariadb.Error as error:
print(f"Error al conectar con la base de datos: {error}")

Si la conexión a la base de datos es correcta, la consola devolverá esto el mensaje del Label() en la interfaz gráfica, en cambio, si te equivocas en cualquiera de los atributos de conexión, te imprimirá en la consola el error.

Comentarios

Si te quedan dudas sobre el temario, sobre Tkinter, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.

Programación Fácil YouTube

Suscríbete

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.