Download Introducción al Manejo de bases de datos MySQL en Python
Document related concepts
no text concepts found
Transcript
Introducción 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 serán “nombre” y “clave”; así: Ahora insertaremos algunos datos a la base de datos del siguiente modo: Como vemos, se ha realizado la inserción de 3 usuarios en la tabla “usuarios”, cuyos nombres son: pepe, maria, luis; y las claves: soydios, fashionforever, superman; respectivamente. Veamos cómo va quedando la tabla haciendo una petición que devolverá todo su contenido: Hasta ahora hemos visto como insertar y ver los datos de tablas, a continuación pasaremos a la modificación de datos, que en sql se hace con el comando update Vemos cómo 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 básico 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 intérprete de Python no cuenta con el módulo que permite interactuar con bases de datos MySQL, así que debemos instalarlo por separado. En mi caso tengo la versión de Python 2.7, por lo que me tuve que bajar1. Veremos cómo implementar en Python las operaciones básicas anteriormente descritas, es decir, agregar, modificar y eliminar elementos de una base de datos. Para continuar nos guiaremos con un código que hice que permite hacer las operaciones descritas. Analicemos el código por parte: Importamos dos módulos, el primero para trabajar con bases de datos MySQL y el segundo el módulo 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 conexión. 1 http://soemin.googlecode.com/files/MySQL-python-1.2.3c1.win32-py2.7.exe Intentamos establecer la conexión con la función Connect y creamos un cursor que usaremos para luego hacer las consultas sql’s. En caso contrario damos el aviso de error y procedemos a terminar la ejecución del programa. Ahora creamos las funciones que se encargaran de hacer las operaciones. Comenzamos con la función para mostrar los usuarios: Definimos la operación y la almacenamos en la variable “sql”, la que a continuación la ejecutamos con la propiedad “execute” del cursor creado en el programa principal. Con “fetchall” lo hacemos legible y posteriormente le damos algún formato para presentarlo al usuario. Pasamos a la función 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 alusión al cursor creado en el programa principal con la función “execute”. La función que borra usuarios debe recibe el nombre del usuario que se desea borrar: Y el mismo procedimiento anterior. Diseñamos 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 opción, dependiendo de esa opción solicitaremos los datos que necesarios y llamamos a la función indicada. Este es un ejemplo sencillo que sirve de introducción al manejo de bases de datos desde Python, y no está diseñado para cuando el usuario introduce valores “equivocados”, ya no hacemos validación de datos. Pero funcionará bien si encontramos un súper-usuario que jamás se equivocará He subido el código 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/