Avance #2 - Integración de MySQL

 Se eliminó el uso de la librería sqlite3 ya que esta requería código SQL insertado.

En cambio se implementó el servicio de MySQL, un entorno que permite el manejo de Bases de Datos con SQL, alojado en el equipo o en un servidor.


Instalación MySQL.

Desde https://dev.mysql.com/downloads/installer se descarga el instalador de MySQL, y se escoge si optar por la versión web, o la versión local.


Siguiendo el asistente Wizard, se configura un usuario root, que es administrador de todo el sistema. A su vez es posible crear otros usuarios administradores con otros roles particulares.

Al finalizar la instalación local, dejando toda la configuración predeterminada, se agrega al sistema el entorno de MySQL junto al acceso de 2 programas: 


Estos 2 accesos directos permiten manejar el ambiente MySQL de manera eficaz. En este proyecto se utilizará principalmente el MySQL Workbench 8.0 CE.


Manejo del entorno MySQL.


En la interfaz del programa, es posible ver las conexiones existentes a las bases de datos alojadas en el sistema. Las conexiones pueden tener cualquier nombre, y en estas mismas se configura a qué base estás conectadas y en qué IP viven.


Con la creación de la conexión, también se vincula un usuario en el input de username, que es el primer encargado de esa conexión.

Por seguridad, cada vez que se quiera el acceso a la conexión, se debe proporcionar una contraseña del usuario válida.

Una vez permitido el acceso, es posible acceder a la conexión, sin embargo, es necesario asociar esa conexión a una base de datos existente (un schema). 


En la izquierda, está el apartado schemas. De ahí es posible crear una base de datos nueva, y asociarla a la conexión actual. Se asocia con doble click.


También es posible crear scripts y guardarlos en archivos .sql que luego pueden ejecutarse.

Los archivos de código SQL pueden guardar procedures que se pueden usar en python, lo que soluciona el problema de código insertado.


Código SQL

El código de los scripts tiene la siguiente estructura:

Primero crea una tabla llamada empleados, en caso se existir, lo omite.

Seguidamente está la sección de procedimientos. Primero se cambia el delimitador ";" por otro cualquiera para que los procedimientos se apliquen correctamente. 

En cada procedimiento de tiene el cuidado de no aplicar el mismo más de una vez, con el script DROP PROCEDURE IF EXISTS

Conexión con Python.

Para manejar la base de datos usando Flask, es necesario vincular en python una conexión a la misma (las que se crean en el Workbench) ingresando el host, el usuario, su contraseña y el nombre de la base de datos (schema). Esto crea un cursor que llama a los procedimientos del archivo SQL.

Mostrar Empleados.

Primer ejemplo de una llamada a procedimiento por python es esta función.

por medio del método callproc("procedure", (parámetros)) se puede manipular el SQL. En este ejemplo, luego de llamar a MostrarEmpleados sin parámetros "()", el otro método del cursor; stored_results(), devuelve las salidas de los procedimientos llamados. De esta manera se pueden ver los datos de la tabla o manejarlos a conveniencia.

Agregar Empleado.

También de esta forma se puede agregar un empleado, llamando al procedimiento AgregarEmpleado, y pasando por parámetros en paréntesis las entradas que el procedimiento requiera. 

En este caso, también es importante realizar el método de la conexión commit() para confirmar el nuevo dato a la base, ya que si se pasa por alto, no se realiza ningún cambio.


TO DO : Corregir el tipo de dato permitido en la base SQL (debe ser no nulo). 
















Comentarios

Entradas populares