0% encontró este documento útil (0 votos)
169 vistas7 páginas

La Forma Mas Sencilla de Conectar Python y MySQL

Este documento explica cómo conectar Python a una base de datos MySQL de forma sencilla instalando la librería PyMySQL. Se muestra cómo crear una base de datos en MySQL de forma gratuita y luego cómo acceder a ella desde Python para realizar operaciones básicas como consultar la versión de la base de datos, insertar y leer filas.

Cargado por

Shashin Kuro
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
169 vistas7 páginas

La Forma Mas Sencilla de Conectar Python y MySQL

Este documento explica cómo conectar Python a una base de datos MySQL de forma sencilla instalando la librería PyMySQL. Se muestra cómo crear una base de datos en MySQL de forma gratuita y luego cómo acceder a ella desde Python para realizar operaciones básicas como consultar la versión de la base de datos, insertar y leer filas.

Cargado por

Shashin Kuro
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

La forma mas sencilla de conectar Python y MySQL

copitosystem.com/es/python-mysql-database

Conectar MySQL con Python es tan sencillo como instalar una librería. Conéctate a tu base
de datos y envía comandos SQL.

¡Hola a todos!, hoy vamos a hablar acerca de como conectar Python 3 con tu base de datos
MySQL. Este va a ser un post un poco largo, pero no te asustes, 75% de este es preparar la
base de datos para los ejemplos que siguen.

Si ya tienes una base de datos, vas a ver un pequeño mensaje que te va a indicar que
sección puedes saltear. Si eres nuevo o no tienes una base de datos lista, te recomiendo
que leas todo el post.

Si tienes algún problema, déjame un comentario. Voy a hacer todo lo posible por ayudarte.

Dificultades para encontrar información actualizada

Todo comenzó hace algunos días. Yo estaba haciendo un pequeño juego de pong cuando
una idea genial cruzó mi mente:
“¿Por qué no hacerlo multijugador? Seguro, porqué no?”
Como cualquiera de ustedes, cuando decido comenzar algún proyecto nuevo, lo primero
que hago es una investigación rápida, alias “googlearlo”. Desafortunadamente, ninguno de
los resultados estaban funcionando. Probé diferentes librerías, pero ninguna era
compatible con Python 3. Muchas estaban desactualizadas mientras que otras no
funcionaban siquiera.
Así que acá estoy, haciendo este simple post, para ahorrarles varias horas buscando en la
web sin dirección alguna. ¡Espero que les sirva y lo disfruten!

1/7
Para instalar python 3 mira este post: como instalar python en 5 minutos

Configurando la base de datos MySQL

Comencemos con crear una simple base de datos en MySQL. Puede estas hosteada donde
quieras, local o externa (nosotros vamos a usar esta última para el tutorial).

Si ya tienes una base de datos creada, puedes saltearte esta sección

La forma más rápida de crear nuestra base de datos MySQL para hacer pruebas, es hacerla
en www.freemysqlhosting.net. Solo haz click en Start my free account, registrate y listo.

Una vez completado el paso anterior ve a www.freemysqlhosting.net/account/. Una vez


dentro, selecciona la ubicación de tu base de datos (elige cualquiera, no es de importancia
para este tutorial). Luego, crea tu base de datos.

Cuando tu base de datos este creada, deberías recibir un email con los datos de
autenticación que vamos a necesitar (asegúrate de NO eliminar el mensaje). También,
dentro de este mail hay un link a phpmyadmin , has click ahí.

PhpMyAdmin
Para iniciar sesión en tu cuenta de phpmyadmin , solo debes llenar los campos con lo
datos recibidos en el email. Bien, ahora es tiempo de crear nuestra tabla.

Debes encontrar el botón que dice SQL en la parte superior de la página. Has click ahí and
pega el siguiente código. Este creará la tabla que vamos a utilizar.

CREATE TABLE `sql9213614`.`test` ( `id` INT NOT NULL AUTO_INCREMENT , `name` TEXT NOT NULL ,
`email` TEXT NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB;

2/7
Terminamos por ahora, ya puedes pasar a la sección de Python

MySQL con Python

Acabamos de configurar todo lo necesario para este tutorial. Es momento de ensuciarse las
manos.

Instalación
Los primero que tenemos que hacer (y probablemente el único requerimiento) es instalar la
librería que nos va a permitir conectarnos con nuestra base de datos. Para hacer esto,
vamos a usar PyMySQL . El repositorio de la librería lo puedes encontrar aquí PyMySQL in
Github.

$ pip install pymysql

Ejemplo más sencillo


Echemosle un vistazo a mínimo pedazo de código. Todo lo que hace es devolver la versión
de la base de datos, suficiente para chequear si todo está funcionando como debería. Al
final puedes encontrar una explicación detallada del mismo.

Ten en cuenta que debes modificar la configuración con las credenciales de tu base de datos.

3/7
import pymysql

############### CONFIGURAR ESTO ###################


# Abre conexion con la base de datos
db = pymysql.connect("database_host","username","password","database_name")
##################################################

# prepare a cursor object using cursor() method


cursor = db.cursor()

# ejecuta el SQL query usando el metodo execute().


cursor.execute("SELECT VERSION()")

# procesa una unica linea usando el metodo fetchone().


data = cursor.fetchone()
print ("Database version : {0}".format(data))

# desconecta del servidor


db.close()

Si corres este código, y las credenciales de tu base de datos son correctos, deberías ver que
la consola imprime la versión de tu base de datos. Si todo funcionó según lo planeado,
felicitaciones, acabas de superar la parte más complicada.

Si no lo puedes hacer funcionar, no dudes en dejarme un comentario, voy a hacer todo lo


posible par ayudarte.

Insertar filas en la base de datos


Bien, ahora que sabemos que todo funciona correctamente, es hora de comenzar a guardar
datos. Como siempre, primero subo el código y luego lo explico abajo.

4/7
import pymysql

############### CONFIGURAR ESTO ###################


# Open database connection
db = pymysql.connect("database_host","username","password","database_name")
##################################################

# prepare a cursor object using cursor() method


cursor = db.cursor()

# Prepare SQL query to INSERT a record into the database.


sql = "INSERT INTO test(id, name, email) \
VALUES (NULL,'{0}','{1}')".format("cosme","[email protected]")
try:
# Execute the SQL command
cursor.execute(sql)
# Commit your changes in the database
db.commit()
except:
# Rollback in case there is any error
db.rollback()

# desconectar del servidor


db.close()

No hay mucho que explicar, creo que el código se explica por si mismo. Hay algunas cosas
que debes tener en cuenta:

La tabla es sensible a las mayusculas, por lo que debemos usar test y no TEST

Para evitar escribir la columna índice, debes pasar NULL

Si corres este código, vas a notar que una nueva fila fue agregada a tu base de datos.

Leer base de datos


Este caso es muy similar al de INSERT . Vamos a ver un simple ejemplo con SELECT , pero
puedes usar cualquier comando de SQL.

5/7
import pymysql

############### CONFIGURAR ESTO ###################


# Open database connection
db = pymysql.connect("database_host","username","password","database_name")
##################################################

# prepare a cursor object using cursor() method


cursor = db.cursor()

# Prepare SQL query to READ a record into the database.


sql = "SELECT * FROM test \
WHERE id > {0}".format(0)

# Execute the SQL command


cursor.execute(sql)

# Fetch all the rows in a list of lists.


results = cursor.fetchall()
for row in results:
id = row[0]
name = row[1]
email = row[2]
# Now print fetched result
print ("id = {0}, name = {1}, email = {1}".format(id,name,email))

# disconnect from server


db.close()

Eso es todo. Asegúrate de tener algo escrito en tu tabla o el código no devolverá nada.

Conclusión
Creo que vas entendiendo como funciona esto, puedes usar muchos otros comandos,
como por ejemplo DELETE . Todos siguen las misma lógica, pero para más información no
olvides de mirar
PyMySQL documentation.

A pesar de que MySQL is una tecnología de base de datos un poco antigua, aún sigue
siendo utilizada en muchas aplicaciones y con la ayuda de Python 3 puedes crear
aplicaciones de forma rápida y sencilla.

Desafortunadamente, tuve otros problemas para terminar mi juego Pong (la conexión con
la base de datos toma 1 segundo lo que genera lag en el juego), pero esa es otra historia.

No dudes es hacer la pregunta que necesites o de compartir como has logrado conectar tu
aplicación de Python a una base de datos MySQL.

6/7
7/7

También podría gustarte