En primer lugar y aunque parece obvio no olvidemos instalar el modulo para conexion ODBC para MySQL ya que realizaremos la conexion por este medio. Aclaro que python tambien permite la conexion por ADO pero esta tematica la abordare mas adelante ya que estoy centrado en este momento en aplicaciones de escritorio y posteriormente incursionare en aplicaciones web.
Ahora iniciaremos con la conexion:
Asignamos como una cadena de caracteres el driver de conexion, el servidor de la base de datos, el nombre de la base de datos el usuario y la contraseña para acceder la base de datos, asi:
>>> conectstring='DRIVER={MySQL ODBC 5.1 Driver}; SERVER=localhost; DATABASE=pruebapython; USER=root; PASSWORD=kanivales;'
En el campo 'SERVER' ponemos localhost si la base esta en el mismo equipo o con el identificador de red ya sea nombre de equipo o ip tambien es posible, creo que los otros campos son claros.
Ahora debemos utilizar el metodo connect presente en el controlador pyodbc. Aclaro que dependiendo del modulo de mysql utilizado cambian un poco los metodos pero la estructura coincide para todos los modulos.
>>> cnxn=pyodbc.connect(conectstring)
En cnxn se almacenara el estado de la conexion.
Ahora utilizamos el metodo cursor que lo que hace basicamente es la conexion entre el interprete de MySQL y python. La siguiente linea de codigo solo inicializa el cursor:
>>> cursor=cnxn.cursor()
Bien en este momento ya tenemos conectado python y la base de datos creada en MySQL, ahora ingresaremos sentencias SQL para poder ingresar datos y realizar consultas.
>>> sql='INSERT INTO nombre VALUES ("virginia")'
>>> cursor.execute(sql)
<pyodbc.Cursor object at 0x00000000028FCC90>
La variable sql almacena una cadena string que contiene la sentencia SQL, luego en la siguiente linea el método execute nos permite ingresar la sentencia sin embargo el cambio sobre la base de datos no ocurrira hasta que ejecutemos la siguiente instrucción:
>>> cnxn.commit()
Ahora si podemos verificar la base de datos y debe estar el nombre 'virginia' en la tabla.
Como observamos en efecto se modifico la tabla directamente desde python3, en los proximos post mostrare como realizar las consultas modificar datos ya escritos crear tablas y borrar tablas desde python, y para no perder de vista el objetivo luego realizaremos lo mismo desde tkinter asi que suerte!!!










