En la anterior entrada empezamos a ver el manejo de bases de datos con Python. Vimos como consultar e insertar datos con SQLite y en esta lección haremos lo mismo pero con el módulo PyMySQL. Recordemos que SQLite solo permite acceso local y solo puede hacerlo un usuario, mientras que MySQL (o MariaDB en la actualidad) permite acceso remoto y es multiusuario.
El módulo sqlite3 venía integrado en el interprete python pero pymysql no, así que aprovecharemos para terminar la lección 9 y aprenderemos a instalar los módulos que vayamos necesitando.
Instalación del módulo PyMySQL
Con la instalación de Python viene una herramienta de instalación de paquetes (módulos) llamada pip. Ésta permite que abriendo una terminal (o cmd en windows) y poniendo la sintaxis pip install <paquete> se lo descargue e instale automáticamente como veremos en las siguientes dos capturas
Para comprobar que el PyMySQL ha sido instalado, abrimos python y probamos a importar el módulo. Si no da error es que está correctamente instalado
Hecha la instalación, ya tenemos el módulo listo para su uso.
MySQL en Python 3 con PyMySQL
Al contrario que SQLite, MySQL necesita un servidor que aloje la base de datos. Para ello recomiendo instalar la suite de herramientas XAMPP. No es parte de este curso cubrir la instalación de XAMPP pero siguiendo las capturas no habrá pérdida. Nos saldrán algunos avisos del Firewall que debemos aceptar.
Nota: El archivo de instalación de la página oficial de XAMPP parece estar mal nombrado, por lo que si tu windows no detecta que tipo de archivo es añádele la extensión .exe para que sea ejecutable y lo abrirá sin problemas.
Seleccionamos lo básico que vamos a necesitar
Picamos en Start para iniciar los servicios de Apache y MySQL. Apache montará phpmyadmin, una potente herramienta del estilo de SQLite Manager para manejar de manera gráfica nuestra base de datos. Para abrir phpmyadmin lo hacemos con el botón Admin de MySQL
El uso de PhpMyAdmin requiere algo de práctica así que no dudes en ir probando a crear una base de datos con sus tablas. Si te parece demasiado complicado no dudes en mirar algún tutorial de los muchos que hay en internet.
Una vez instalado todo lo necesario para usar MySQL y configurada la base de datos, pasemos a escribir el código necesario para hacer una consulta. En este ejemplo vemos que tenemos que indicarle la dirección IP, usuario, password y la base de datos que hemos creado. Esto se debe a que la base de datos puede estar en un servidor externo y al ser multiusuario debemos decir quienes somos. El resto es prácticamente igual que en SQLite
Veamos ahora una inserción. Si nos fijamos en la sentencia SQL, con éste módulo debemos indicar el nombre de la base de datos justo antes de indicar la tabla (empresa.usuarios) y añadir el commit() de la línea 17 para que se realice la inserción
si volvemos a ejecutar la consulta obtendremos ahora las dos filas
Usando los dos patrones ya podemos insertar y consultar los datos. Veamos un ejemplo de inserción mediante variables recogidas al usuario. Hay que tener en cuenta en la sentencia SQL (línea 13) que para poder escapar(salir) del string tenemos que cerrar el string, concatenar(+) y volver a abrir el string. Ejemplo:
sql = «INSERT INTO empresa.usuarios (nombre) VALUES (‘ » + variable + » ‘)»
y consultando phpmyadmin vemos que se ha insertado los campos
ahora vamos a ver un ejemplo de como haríamos para consultar e imprimir solo correos y contraseñas
No está de más decir que la contraseña de la base de datos debe ser personalizada y nunca ‘root’ como he puesto en el ejemplo.
Con esta lección terminamos el acceso a base de datos tanto a SQLite como a MySQL con python3.
Un salu2!
Curso de Python I Curso de Python II Curso de Python III Curso de Python IV Curso de Python V Curso de Python VI Curso de Python VII Curso de Python VIII Curso de Python IX Curso de Python X Curso de Python XI Curso de Python XII Curso de Python XIII Curso de Python XIV