Mostrando entradas con la etiqueta Python3. Mostrar todas las entradas
Mostrando entradas con la etiqueta Python3. Mostrar todas las entradas

lunes, 19 de septiembre de 2011

Conexión con MySql

Bueno, este articulo minimalista muestra como hacer una conexión a MySql, desde Python 3.

La libreria a usar es PyMySQL, la cual es un cliente escrito en Python, la meta de esta libreria es reemplazar a MySQLdb y poder trabajar con las diferentes implementaciones de Python (CPython 2.3+, Jython, IronPython, PyPy and Python 3).

Actualmente soporta Python 2.4+, Python 3 y MySql 4.1+.

Mi entorno de pruebas esta en Debian Squeeze, Python 3, Eric IDE.

Para poder empezar a trabajar debemos descargar la libreria del enlace . (Se asume que ya esta instaldo Python 3 y MySql). Después de descargar y descomprimir la libreria la instalamos:


Para Debian:

python3 setup.py install

con privilegios de administrador.


Para Windows:

Entrar a la carpeta que se acaba de descomprimir y luego ejectuar:


C:\Users\Jurasec\Downloads\PyMySQL3-0.4\PyMySQL3-0.4\c:\Python32\python.exe setup.py install
running install
running build
running build_py
running install_lib
creating c:\Python32\Lib\site-packages\pymysql
copying build\lib\pymysql\charset.py
c:\Python32\Lib\site-packages\pymysql
copying build\lib\pymysql\connections.py
c:\Python32\Lib\site-packages\pymysql
creating c:\Python32\Lib\site-packages\pymysql\constants
copying build\lib\pymysql\constants\CLIENT.py -> c:\Python32\Lib\site-packages\pymysql\constants
copying build\lib\pymysql\constants\COMMAND.py -> c:\Python32\Lib\site-packages\pymysql\constants

Para probar si quedo bien la instalación, abrimos el shell de Python, (el cual se ha instaldo junto con Python), y probamos importar la libreria nueva:


Ahora sí, ya vimos que esta todo correcto, por lo tanto podemos hacer nuestro script para obtener algunos datos de prueba desde el gestor:
#!/usr/bin/env python

import pymysql

#conn = pymysql.connect(host='127.0.0.1', unix_socket='/tmp/mysql.sock', user='root', passwd=None, db='mysql')

conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='mysql', db='test')
cur = conn.cursor()
cur.execute("SELECT * FROM estados")
print (cur.description) 
#r = cur.fetchall()
#print (r)
for r in cur.fetchall():
   print ("Id: {0}, Estado: {1}".format(r[0], r[1]))
cur.close()
conn.close()

Como yo estoy usando eric4, pues solo voy a iniciar > Ejecutar scprit... , y el resultado es:

Al parecer no se necesita de mucho esfuerzo para ya poder empezar a trabar con este gestor. Si algo no quedo claro, podemos comentarlo.

Twitter Delicious Facebook Digg Stumbleupon Favorites More