Skip to content

Latest commit

 

History

History
 
 

Ejemplo-05

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

Fullstack con Python > Backend con Python > Sesión 01 > Ejemplo-02

Operación READ: Lectura de datos con Python y MariaDB

OBJETIVO

Conocer el procedimiento para realizar la operación Read a una tabla en un servidor MariaDB desde Python para el proyecto Biblioteca.

REQUISITOS

  1. Contar con los datos de conexión a la base de datos Biblioteca.

    Host: localhost
    User: Biblioteca
    Password: Biblioteca
    Base de datos: Biblioteca

  2. Usar la carpeta de trabajo Sesion-02/Ejemplo-05

  3. Contar con la tabla Libro creada y con los datos contenidos en el archivo sql/tabla-libro.sql.

    Tabla Libro

    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 $
  4. 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
    
    $

DESARROLLO

  1. 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ódulos click, mysql-connector-python y stdout.

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.