Crear y conectar bases de datos con MariaDB - Tkinter desde cero - Capítulo 17


En este capítulo vamos a ver una pequeña introducción con las bases de datos en concreto con MariaDB no te preocupes porque también tocaremos MySQL por si no te gusta MariaDB y puede que También SQLite .

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.

Dicho esto, 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 sabes las posibilidades, podemos construir una información sobre las compras que han hecho, sobre si son clientes que gastan más o menos, que productos han comprado, cuando lo han hecho, si ha 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 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, también vamos a instalar el módulo mariadb, y con él haremos una prueba de conexión a la base de datos desde Python.

Instalación de XAMPP

Lo más sencillo para tener instalado todo lo necesario y que tu equipo se convierta en servidor web, es 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.

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:

Código SQL

CREATE DATABASE prueba;

Resultado

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:

Código 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:

Código

pip install mariadb

Importamos el módulo mariadb

Código

import mariadb

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

Código

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:

Código

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:

Código

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

Resultado

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.


Suscríbete a mi canal de YouTube para apoyarme

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.


Comentarios

Si te quedan dudas sobre el temario, sobre Python, 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.