Conexión a MySQL (MariaDB) desde PYTHON y TKINTER [05]
Ahora en este tutorial crearemos la conexión a MySQL (MariaDB) desde PYTHON y TKINTER siguiendo estos pasos:
Que haremos en este tutorial:
Instalaremos las librerías de MariaDB para conectarnos a través de Python con el comando pip install mariadb.
Crearemos nuestra bd escuela con la tabla alumnos y los campos id,nombre y edad.
Desde nuestro script leeremos los datos de la tabla alumnos y los mostramos por consola (por ahora)
from tkinter import * from tkinter import ttk import mariadb class Alumno: def __init__(self,ventana): self.ventana=ventana self.ventana.title("Hola mundo") marco=LabelFrame(self.ventana,text="Alumno") marco.grid(row=0,column=0,columnspan=3,pady=20) #Nombre Label(marco,text="Nombre").grid(row=0,column=0) Entry(marco).grid(row=0,column=1) #Clave Label(marco,text="Clave").grid(row=1,column=0) Entry(marco).grid(row=1,column=1) #Boton ttk.Button(marco,text="Guardar alumno").grid(row=2,columnspan=2,sticky=W+E) def consulataAlumnos(self,query): try: conn=mariadb.connect( host="localhost", user="root", password="", database="escuela" ) except mariadb.Error as e: print("Error al conectarse a la bd ",e) cur=conn.cursor() cur.execute(query) return cur def mostrarDatos(self): cur=self.consulataAlumnos("SELECT `nombre`,`clave` FROM `alumnos`") for (nombre,clave) in cur: print(nombre,clave) if __name__=="__main__": ventana=Tk() aplicacion=Alumno(ventana) aplicacion.mostrarDatos() ventana.mainloop()
-- phpMyAdmin SQL Dump -- version 5.0.2 -- https://www.phpmyadmin.net/ -- -- Servidor: 127.0.0.1 -- Tiempo de generación: 04-08-2020 a las 13:44:06 -- Versión del servidor: 10.4.13-MariaDB -- Versión de PHP: 7.2.31 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Base de datos: `escuela` -- CREATE DATABASE IF NOT EXISTS `escuela` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; USE `escuela`; -- -------------------------------------------------------- -- -- Estructura de tabla para la tabla `alumnos` -- CREATE TABLE `alumnos` ( `id` int(5) NOT NULL, `nombre` varchar(255) NOT NULL, `clave` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- -- Volcado de datos para la tabla `alumnos` -- INSERT INTO `alumnos` (`id`, `nombre`, `clave`) VALUES (1, 'Juan Perez', '654654'), (2, 'Maria Morales', '987321'); -- -- Índices para tablas volcadas -- -- -- Indices de la tabla `alumnos` -- ALTER TABLE `alumnos` ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT de las tablas volcadas -- -- -- AUTO_INCREMENT de la tabla `alumnos` -- ALTER TABLE `alumnos` MODIFY `id` int(5) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
🎦[CURSO] PYTHON PARA PRINCIPIANTES: https://www.youtube.com/playlist?list=PLCTD_CpMeEKRppvi86Dy8CPYZ8-XzN2qu
Gracias por apoyar este canal: https://www.patreon.com/programadornovato
🔗 Facebook: https://facebook.com/ProgramadorNovatoOficial
🔗 Twitter: https://twitter.com/programadornova
🔗 Linkedin: https://www.linkedin.com/in/programadornovato/
🔗 Instagram: https://www.instagram.com/programadornovato/
🔗 Pagina oficial: https://www.programadornovato.com
🎦 Canal de youtube: https://www.youtube.com/c/programadornovato
<<Anterior tutorial Siguiente tutorial >>
Ave que vuela, a la cazuela.