viernes, 2 de diciembre de 2011

SENTENCIAS MySQL EJECUTADAS DESDE PYTHON 3

Hasta el momento hemos conocido la manera en que se debe realizar la conexión las bases de datos desde python 3, específicamente con el motor MySQL, adicionalmente hemos realizado una aplicación que puede agregar datos a la base de datos ingresando desde el teclado.

Ahora mostraré una aplicación utilizando un menú para escribir en la BD, modificar la BD, realizar consultas en la BD y borrar datos específicos de la BD.  La aplicación es bastante simple, sin embargo creo que es lo suficientemente clara para entender como se manipulan las sentencias sql desde python3 y con un poco de trabajo sera muy fácil llevar a cabo cualquier tipo de consulta en la BD.

Inicialmente mostrare como funciona la aplicación y posteriormente dejare el código para que no existan dudas sobre la manipulación de las sentencias. A continuación observamos el menú de la aplicación:



Como se observa existen 4 opciones que de manera general corresponde a las posibilidades que tenemos de manipular una base de datos con sentencias SQL. A continuación realizaremos una consulta a la tabla nombre de la base de datos pruebapython que hemos venido trabajando desde el inicio, aclaro que para facilidad y simplicidad de la aplicación se programo una consulta general de la tabla por lo que mostrará todos los datos presentes en la tabla



como observamos están los siguientes datos en la tabla: jorge, virginia, diego, andres ,fabian y juan. Aclaro que solamente esta programada la consulta pero con una manipulación básica de las lista podemos imprimir en la pantalla la información de una mejor manera.

Seleccionando la opción 1 podemos escribir un nuevo dato en la tabla, en este caso se escribirá el nombre eduardo tal como se observa:



Con la opción 2 podemos modificar un registro que ya esta escrito y que por algún motivo debe ser cambiado. En este caso modificaremos el registro llamado fabian y lo cambiaremos por julio



Por ultimo con la opción 4 podemos borrar un registro especifico sin necesidad de perder valiosa información y tener que rehacer la tabla.



Como se puede observar borramos el registro que escribimos inicialmente 'eduardo'
A continuación incluyo el código utilizado:

import os, pyodbc

conectstring='DRIVER={MySQL ODBC 5.1 Driver}; SERVER=localhost; DATABASE=pruebapython; USER=root; PASSWORD=kanivales;'
cnxn=pyodbc.connect(conectstring)  
cursor=cnxn.cursor()

print('MENU BASE DE DATOS\n')
print('1. Agregar dato\n2. Modificar dato\n3. Consulta\n4. borrar\n\n')
opc=input('ESCOJA LA OPCION:')

if opc=='1':
os.system('cls')
dat=input('ingrese dato:')
sql='INSERT INTO nombre VALUES ("'+dat+'")'
cursor.execute(sql)  
cnxn.commit()
print('El registro fue agregado')
input()
elif opc=='2':
os.system('cls')
dat=input('ingrese dato a modificar:')
dat2=input('ingrese nuevo dato:')
sql='UPDATE nombre SET nom="'+dat2+'" WHERE nom="'+dat+'"'
cursor.execute(sql)  
cnxn.commit()
print('El registro fue cambiado')
input()
elif opc=='3':
os.system('cls')
sql='SELECT * FROM nombre'
cursor.execute(sql)  
cnxn.commit()
result=cursor.fetchall()
print(result)
input()
elif opc=='4':
os.system('cls')
dat=input('ingrese dato a borrar:')
sql='DELETE FROM nombre where nom="'+dat+'"'
cursor.execute(sql)  
cnxn.commit()
print('El dato fue borrado')
input()
else:
print('la opcion no es correcta')
input()

De esta manera finalizamos el estudio de las posibilidades que nos da python 3 de conectarnos con motores de bases de datos de cualquier proveedor. SUERTE!!!



jueves, 1 de diciembre de 2011

Insertar datos PYTHON - MYSQL

Presento excusas ya que hace rato no actualizaba el blog por falta de  tiempo pero aprovechemos y entremos nuevamente en materia.

A continuación mostrare un pequeño programa donde se inserta datos en una tabla de mysql, la diferencia con la anterior aplicación que habíamos realizado es que se adjuntara a la tabla un dato ingresado desde le teclado por el usuario.

Aquí observamos los datos actuales que hay en nuestra tabla pruebapython que en post anteriores habíamos trabajado:
Ahora desde la aplicacion en python 3 ingresamos el nombre 'rogelio':

y ahora observamos que en nuestra tabla mysql ya existe el nombre:
De esta manera podemos ingresar a la base de datos  información desde el teclado, a continuación el código utilizado:


import pyodbc  #libreria del modulo utilizado

conectstring='DRIVER={MySQL ODBC 5.1 Driver}; SERVER=localhost; DATABASE=pruebapython; USER=root; PASSWORD=kanivales;'
#se untiliza una cadena de caracteres que contiene informacion de conexion con servidor y base de datos
cnxn=pyodbc.connect(conectstring)  #se establece conexion
cursor=cnxn.cursor() #se crea cursor
cad =input("Ingrese nombre: ") #se captura dato desde teclado
sql='INSERT INTO nombre VALUES ("'+cad+'")' #sentencia sql
cursor.execute(sql)  #se ejecuta la sentencia sql
cnxn.commit() #se efectua cambio sobre la base de datos
cnxn.close() #se cierra conexion

input()

Como pueden observar es un código simple y bastante fácil de entender, para finalizar esta temática desarrollaremos una aplicación que pueda crear, escribir, modificar y leer la base de datos hasta la próxima!!