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!!

1 comentario:

  1. Muy buenas noches una pregunta si tengo el siguiente codigo:

    import pymysql

    connection = pymysql.connect(

    host="localhost",
    user="root",
    password="1559",
    db="basep"

    )

    cursor = connection.cursor()

    print ("MENU PRINCIPAL \n")
    nombre=input('Ingrese nombre de Usuario: ')
    contra=input('Ingrese nombre de Usuario: ')

    sql = " INSERT INTO persona VALUES('''+nombre+''','''+contra+''')"

    cursor.execute(sql)

    connection.commit()
    Porque me aparece error al ejecutar ?

    error:

    OperationalError: (1136, u"Column count doesn't match value count at row 1")

    ResponderEliminar