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.