Está en la página 1de 7

Introduccin al Manejo de bases de datos MySQL en Python

By: Blozzter

Chile, 2011.

Creando la Base de datos a tratar.


Comenzaremos creando la base de datos MySQL en la cual trabajaremos, vamos al cliente de MySQL y lo hacemos de modo manual escribiendo create database ejemplo; Y luego vemos las bases de datos para asegurarnos que ejemplo fue creada exitosamente con el comando show databases

Seleccionamos la base de datos en la que vamos a trabajar:

Y procedemos a crear las tablas con sus respectivas columnas. Para este ejemplo crear una tabla llamada usuarios que contendr 2 columnas que sern nombre y clave; as:

Ahora insertaremos algunos datos a la base de datos del siguiente modo:

Como vemos, se ha realizado la insercin de 3 usuarios en la tabla usuarios, cuyos nombres son: pepe, maria, luis; y las claves: soydios, fashionforever, superman; respectivamente. Veamos cmo va quedando la tabla haciendo una peticin que devolver todo su contenido:

Hasta ahora hemos visto como insertar y ver los datos de tablas, a continuacin pasaremos a la modificacin de datos, que en sql se hace con el comando update

Vemos cmo va quedando la tabla usuarios:

Como se aprecia, hemos modificado la clave del usuario pepe de soydios a perdedor. Y lo ltimo en cuanto al manejo bsico de bases de datos, como borrar una fila:

Hemos borrado a la usuario maria de la tabla, lo comprobamos:

Implementando lo aprendido en Python El intrprete de Python no cuenta con el mdulo que permite interactuar con bases de datos MySQL, as que debemos instalarlo por separado. En mi caso tengo la versin de Python 2.7, por lo que me tuve que bajar1. Veremos cmo implementar en Python las operaciones bsicas anteriormente descritas, es decir, agregar, modificar y eliminar elementos de una base de datos. Para continuar nos guiaremos con un cdigo que hice que permite hacer las operaciones descritas. Analicemos el cdigo por parte:

Importamos dos mdulos, el primero para trabajar con bases de datos MySQL y el segundo el mdulo del sistema que lo utilizaremos para cerrar el programa en caso de no poder conectarnos a la DB. Luego definimos las variables que necesitamos para la conexin.

http://soemin.googlecode.com/files/MySQL-python-1.2.3c1.win32-py2.7.exe

Intentamos establecer la conexin con la funcin Connect y creamos un cursor que usaremos para luego hacer las consultas sqls. En caso contrario damos el aviso de error y procedemos a terminar la ejecucin del programa. Ahora creamos las funciones que se encargaran de hacer las operaciones. Comenzamos con la funcin para mostrar los usuarios:

Definimos la operacin y la almacenamos en la variable sql, la que a continuacin la ejecutamos con la propiedad execute del cursor creado en el programa principal. Con fetchall lo hacemos legible y posteriormente le damos algn formato para presentarlo al usuario. Pasamos a la funcin que agrega usuarios, la cual debe recibir el nombre del usuario y la clave:

Lo mismo que antes, guardamos la consulta que queremos hacen en la variable var y luego la ejecutamos haciendo alusin al cursor creado en el programa principal con la funcin execute. La funcin que borra usuarios debe recibe el nombre del usuario que se desea borrar:

Y el mismo procedimiento anterior.

Diseamos un men simple que ser con el que el usuario interactuar:

Asignamos un valor boleano para controlar el flujo del programa:

Y luego que tenemos las funciones, solo queda implementarlas:

Mientras no se decida terminar el programa mostraremos el men y pediremos una opcin, dependiendo de esa opcin solicitaremos los datos que necesarios y llamamos a la funcin indicada.

Este es un ejemplo sencillo que sirve de introduccin al manejo de bases de datos desde Python, y no est diseado para cuando el usuario introduce valores equivocados, ya no hacemos validacin de datos. Pero funcionar bien si encontramos un sper-usuario que jams se equivocar

He subido el cdigo a Pastebin.com para que se pueda copiar y probar con mayor facilidad.
http://pastebin.com/8jNm73vc

# end
Sitios recomendados:
[+ ]http://forum.mitm.cl/ [+] https://foro.undersecurity.net/ [+] http://www.underc0de.org/foro [+] http://secureless.org/

También podría gustarte