Fullstack con Python
> Backend con Python
> Sesión 01
> Ejemplo-02
Conocer el procedimiento para realizar la operación Read a una tabla en un servidor MariaDB desde Python para el proyecto Biblioteca.
-
Contar con los datos de conexión a la base de datos Biblioteca.
Host: localhost
User: Biblioteca
Password: Biblioteca
Base de datos: Biblioteca -
Usar la carpeta de trabajo
Sesion-02/Ejemplo-05
-
Contar con la tabla Libro creada y con los datos contenidos en el archivo
sql/tabla-libro.sql
.Si no cuenta con la tabla, entonces inicializarla con el siguiente comando:
Sesion-02/Ejemplo-05 $ docker exec -i pythonsql mysql -hlocalhost -uBiblioteca -pBiblioteca Biblioteca < sql/tabla-libro.sql Sesion-02/Ejemplo-05 $
-
Instalar el módulo
mysql-connector-python
que será el responsable de permitir realizar una conexión a base de datos MySQL / MariaDB desde Python.Sito principal: https://dev.mysql.com/doc/connector-python/en/
Instalación con el comando pip:
$ pip install mysql-connector-python Collecting mysql-connector-python Using cached https://files.pythonhosted.org/packages/43/bd/43a128bbd6a3237d6f255c7afaa9308430d5c90f8db8371276169722f037/mysql_connector_python-8.0.16-cp37-cp37m-manylinux1_x86_64.whl Requirement already satisfied: protobuf>=3.0.0 in /home/rctorr/miniconda3/lib/python3.7/site-packages (from mysql-connector-python) (3.7.1) Requirement already satisfied: six>=1.9 in /home/rctorr/miniconda3/lib/python3.7/site-packages (from protobuf>=3.0.0->mysql-connector-python) (1.12.0) Requirement already satisfied: setuptools in /home/rctorr/miniconda3/lib/python3.7/site-packages (from protobuf>=3.0.0->mysql-connector-python) (41.0.0) Installing collected packages: mysql-connector-python Successfully installed mysql-connector-python-8.0.16 $
- OPERACIÓN READ Crea el script
lista-registros.py
que imprima en formato texto en la salida estándar, la lista de registros de la tabla proporcionada como parámetro en la línea de comandos. Hacer uso de los módulosclick
,mysql-connector-python
ystdout
.
Aplicar el modelo MVC y todas las funciones que tengan que ver con la base de datos colocarlas dentro del script/módulo modelomysql.py
.
Caso: Ejecutando el script sin argumentos
Sesion-02/Ejemplo-05 $ python lista-registros.py
Tablas disponibles
------------------
Libro
------------------
Caso: Imprimiendo registros de la tabla Libro
Sesion-02/Ejemplo-05 $ python lista-registros.py Libro
Tabla: Libro
------------
Id | Titulo | Editorial | NumPag | Autores
1 | Yo, Robot | Gnome Press | 374 | 1
2 | El fin de la eternidad | Gnome Press | 191 | 1
3 | El arte de la guerra | Obelisco | 112 | 2
------------
Nota: En la carpeta ya existe el script stdout.py
que es un módulo que contiene la función imprime_registros()
y se puede hacer uso de ella.