0% encontró este documento útil (0 votos)
106 vistas

Base de Datos Python Con Mysql

El documento describe cómo conectarse a una base de datos MySQL desde Python. Explica cómo instalar XAMPP para obtener MySQL y PHPMyAdmin, y cómo usar el paquete mysql-connector de Python para conectarse al servidor MySQL local, ejecutar consultas SQL como mostrar bases de datos, tablas e insertar y recuperar filas.

Cargado por

Luis Mendoza
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
106 vistas

Base de Datos Python Con Mysql

El documento describe cómo conectarse a una base de datos MySQL desde Python. Explica cómo instalar XAMPP para obtener MySQL y PHPMyAdmin, y cómo usar el paquete mysql-connector de Python para conectarse al servidor MySQL local, ejecutar consultas SQL como mostrar bases de datos, tablas e insertar y recuperar filas.

Cargado por

Luis Mendoza
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 15

IESTP CHOCOPE PROGRAMACION DISTRIBUIDA

MySQL: Base de datos desde Python


Cuando tenemos que almacenar gran cantidad de datos y su posterior
procesamiento es muy común utilizar un gestor de bases de datos.
Con Python podemos comunicarnos con un gestor de bases de datos para
enviar y recuperar datos.
Existen gran cantidad de gestores de bases de datos y el primero que
veremos para ver cual es la mecánica para conectarnos desde Python será
el gestor de base de datos MySQL.
Deberemos instalar primero si no lo tenemos a MySQL.

Instalación de MySQL.
Para facilitar la administración del MySQL utilizaremos el programa XAMPP
que entre otros instala:

• MySQL

• PHPMyAdmin (que nos permitirá administrar las bases de datos


existentes en MySQL)

• PHP (Lenguaje que nos permite ejecutar el PHPMyAdmin)

• Apache (Servidor Web que nos permite ejecutar PHPMyAdmin y PHP


en un servidor)

Descargamos e instalamos XAMPP para el sistema operativo que estamos


trabajando.
Los pasos para instalar son muy sencillos:

1
Docente: Ing. Luis Jeancarlos Mendoza Asmat
IESTP CHOCOPE PROGRAMACION DISTRIBUIDA

2
Docente: Ing. Luis Jeancarlos Mendoza Asmat
IESTP CHOCOPE PROGRAMACION DISTRIBUIDA

3
Docente: Ing. Luis Jeancarlos Mendoza Asmat
IESTP CHOCOPE PROGRAMACION DISTRIBUIDA

Una vez finalizada la instalación de todo el software debemos arrancar el


programa "XAMPP Control Panel"

Aparece la interfaz desde donde debemos iniciar el gestor de base de datos


MySQL:

Presionamos el botón "Start" tanto para MySQL como para Apache:

4
Docente: Ing. Luis Jeancarlos Mendoza Asmat
IESTP CHOCOPE PROGRAMACION DISTRIBUIDA

Si aparecen en verde significa que los programas se encuentran


correctamente en funcionamiento.

Creación de la base de datos MySQL.


Para crear la base de datos utilizaremos el programa PHPMyAdmin que lo
iniciamos presionando el botón "MySQL - Admin" del "XAMPP Control Panel":

5
Docente: Ing. Luis Jeancarlos Mendoza Asmat
IESTP CHOCOPE PROGRAMACION DISTRIBUIDA

Se nos abre una aplicación web PHPMyAdmin que nos permite administrar
nuestras bases de datos de MySQL:

6
Docente: Ing. Luis Jeancarlos Mendoza Asmat
IESTP CHOCOPE PROGRAMACION DISTRIBUIDA

Almacenaremos en la tabla articulos el codigo, descripcion y precio.


El campo 'codigo' será int'clave primaria' y auto_increment.
El campo 'descripcion' será varchar de 50.
El campo 'precio' será float.
Los datos a ingresar para cada campo para la creación de la tabla articulos
son:

7
Docente: Ing. Luis Jeancarlos Mendoza Asmat
IESTP CHOCOPE PROGRAMACION DISTRIBUIDA

Ya tenemos creada la base de datos: "bd1" y en ésta la tabla "articulos":

Paquete de Python necesario para conectarnos a MySQL.


Utilizaremos el programa 'pip' que vimos anteriormente para instalar el
paquete necesario para interconectar 'Python' y 'MySQL'.
Desde la línea de comandos ejecutamos el programa pip con el siguiente
paquete a instalar:

pip install mysql-connector

8
Docente: Ing. Luis Jeancarlos Mendoza Asmat
IESTP CHOCOPE PROGRAMACION DISTRIBUIDA

Conexión con el servidor de MySQL.


Controlar que el "XAMPP Control Panel" se encuentre en ejecución el
servidor de MySQL:
El primer programa que implementaremos nos conectaremos con el servidor
de MySQL y mostraremos todas las bases de datos existentes (una de esas
debería ser bd1)

import mysql.connector

conexion1=mysql.connector.connect(host="localhost", user="root",
passwd="")
cursor1=conexion1.cursor()
cursor1.execute("show databases")
for base in cursor1:
print(base)
conexion1.close()

9
Docente: Ing. Luis Jeancarlos Mendoza Asmat
IESTP CHOCOPE PROGRAMACION DISTRIBUIDA

El resultado de ejecutar este programa es:

Lo primero que hacemos es importar el módulo que nos permite


conectarnos con MySQL:

import mysql.connector

Del módulo importado llamamos a la función connect pasando la ubicación


de nuestro servidor que es 'localhost', el usuario que por defecto al instalar
MySQL se creó el usuario 'root' y la clave de ese usuario que tiene por
defecto un string vacío:

conexion1=mysql.connector.connect(host="localhost", user="root",
passwd="")

Si por ejemplo el servidor de MySQL no se encuentra en ejecución el


programa se detendrá en esta línea informando un error.
Luego a partir del objeto 'conexion1' que es de la clase 'MySQLConnection'
llamamos al método 'cursor':

cursor1=conexion1.cursor()

A partir del objeto 'cursor1' llamamos al método execute y le pasamos como


parámetro un comando SQL, en este caso 'show databases':

cursor1.execute("show databases")

10
Docente: Ing. Luis Jeancarlos Mendoza Asmat
IESTP CHOCOPE PROGRAMACION DISTRIBUIDA

Mediante un for podemos ver todas las bases de datos existentes en


nuestro servidor de MySQL:

for base in cursor1:

print(base)

Finalmente cerramos la conexión con el servidor de MySQL:


conexion1.close()

Listado de todas las tablas de una base de datos de


MySQL.
Ahora implementaremos un programa que recupere todas las tablas
contenidos en una base de datos. Trabajaremos con la base de datos que
creamos desde el PHPMyAdmin llamada 'bd1'.
import mysql.connector

conexion1=mysql.connector.connect(host="localhost",
user="root",
passwd="",
database="bd1")
cursor1=conexion1.cursor()
cursor1.execute("show tables")
for tabla in cursor1:
print(tabla)
conexion1.close()

El resultado de ejecutar este programa es:

11
Docente: Ing. Luis Jeancarlos Mendoza Asmat
IESTP CHOCOPE PROGRAMACION DISTRIBUIDA

Cuando nos conectamos con el servidor de MySQL indicamos en 'database'


la base de datos activa para cuando lancemos comandos SQL:
conexion1=mysql.connector.connect(host="localhost",
user="root",
passwd="",
database="bd1")

Luego de crear el cursor solicitamos que se ejecute el comando SQL 'show


tables' que nos retorna todas las tablas existentes de la base de datos
activa indicada cuando llamamos a 'connect':
cursor1=conexion1.cursor()
cursor1.execute("show tables")

Imprimimos con un for todas las tablas y cerramos la conexión:


for tabla in cursor1:
print(tabla)
conexion1.close()

Insertar filas en una tabla.


Ahora implementaremos un programa que inserte un par de filas en la tabla
'articulos'.

import mysql.connector

conexion1=mysql.connector.connect(host="localhost",
user="root",
passwd="",
database="bd1")
cursor1=conexion1.cursor()
sql="insert into articulos(descripcion, precio) values (%s,%s)"
datos=("naranjas", 23.50)
cursor1.execute(sql, datos)
datos=("peras", 34)
cursor1.execute(sql, datos)
datos=("bananas", 25)
cursor1.execute(sql, datos)
conexion1.commit()
conexion1.close()

12
Docente: Ing. Luis Jeancarlos Mendoza Asmat
IESTP CHOCOPE PROGRAMACION DISTRIBUIDA

Por el momento si queremos controlar que se han cargado las tres filas en
la tabla 'articulos' podemos abrir el 'PHPMyAdmin' y ver el contenido de la
tabla:

Definimos un string con el comando SQL insert disponiendo la máscara %s


donde queremos que se sustituya por un valor que le pasaremos al método
execute:
sql="insert into articulos(descripcion, precio) values (%s,%s)"

La variable datos es una tupla que contiene los datos que se utilizarán en la
sustitución %s:
datos=("naranjas", 23.50)

Finalmente llamamos al método 'execute' y le pasamos las dos variables


que acabamos de crear:
cursor1.execute(sql, datos)

Es fundamental llamar al final al método 'commit' para que queden firmes


los comandos SQL 'insert':
conexion1.commit()

Recuperar todas las filas de una tabla.


Implementaremos un programa que solicite ejecutar un 'select' en la tabla
'articulos' y nos retorne todas sus filas.

13
Docente: Ing. Luis Jeancarlos Mendoza Asmat
IESTP CHOCOPE PROGRAMACION DISTRIBUIDA

import mysql.connector

conexion1=mysql.connector.connect(host="localhost",
user="root",
passwd="",
database="bd1")
cursor1=conexion1.cursor()
cursor1.execute("select codigo, descripcion, precio from articulos")
for fila in cursor1:
print(fila)
conexion1.close()

Cuando ejecutamos el programa podemos ver que se recuperan todas las


filas de la tabla 'articulo

Luego de conectarnos y crear un cursor procedemos a ejecutar el comando


'select', recorremos con un for el 'cursor1':

cursor1=conexion1.cursor()
cursor1.execute("select codigo, descripcion, precio from articulos")
for fila in cursor1:
print(fila)

Borrado y modificación de filas.


Las otras dos actividades fundamentales que podemos hacer con una tabla
es borrar filas y modificar datos.
Desarrollaremos un pequeño programa que borre el artículo cuyo código
sea el 1 y modifique el precio del artículo cuyo código sea 3.

import mysql.connector

conexion1=mysql.connector.connect(host="localhost",

14
Docente: Ing. Luis Jeancarlos Mendoza Asmat
IESTP CHOCOPE PROGRAMACION DISTRIBUIDA

user="root",
passwd="",
database="bd1")
cursor1=conexion1.cursor()
cursor1.execute("delete from articulos where codigo=1")
cursor1.execute("update articulos set precio=50 where codigo=3")
conexion1.commit()
cursor1.execute("select codigo, descripcion, precio from articulos")
for fila in cursor1:
print(fila)
conexion1.close()

Cuando ejecutamos el programa podemos ver que se eliminó el artículo


cuyo código es 1 y se modificó el precio del artículo con código 3:

Luego de crear el cursor podemos llamar al método 'execute' varias veces y


pasar distintos comando SQL:

cursor1=conexion1.cursor()
cursor1.execute("delete from articulos where codigo=1")
cursor1.execute("update articulos set precio=50 where codigo=3")

Siempre que pasemos un comando SQL: insert, delete o update debemos


llamar al método commit para que quede firme los cambios en la base de
datos:
conexion1.commit()

Ejecutamos finalmente un 'select' para comprobar los cambios efectuados


en la tabla 'articulos':

cursor1.execute("select codigo, descripcion, precio from articulos")


for fila in cursor1:
print(fila)

15
Docente: Ing. Luis Jeancarlos Mendoza Asmat

También podría gustarte