Python - Insertar en MySql desde Python

 
Vista:
sin imagen de perfil

Insertar en MySql desde Python

Publicado por Pascual Lorenzo (2 intervenciones) el 29/10/2008 02:24:16
Hola a todos:

Recien me inicio en esto de la programacion en Python y Qt y se me presenta el siguiente inconveniente:

A modo de practica e diseñado con KDevelop Designer un pequeño formulario para resgistrar los siguientes campos
en un BD MySQL: (Nombre, Apellido y Fecha de Nacimiento). El problema esta en que no he podido lograr insertar los datos que tengo e unos text edit en mi formulario.

Por favor agradeceria cualquier ayuda.

Por cierto la BD se llama 'prueba' y la tabla 'registro'.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Insertar en MySql desde Python

Publicado por Cyrus (54 intervenciones) el 29/10/2008 12:20:00
import MySQLdb
def conectar():
db=MySQLdb.connect(host='localhost',user='user',passwd='pass',db='cyrusnet')
cursor=db.cursor()
sql='Select * From guestbook order by id desc'
cursor.execute(sql)
resultado=cursor.fetchall()
return resultado

con algo como esto deberia ir, pon que es lo que has hecho tu para ver por que falla.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Insertar en MySql desde Python

Publicado por Pascual Lorenzo (2 intervenciones) el 30/10/2008 00:10:27
Anteriormente yo habia hecho algo como lo que propones y me funciono perfecto
pero quise entonces hacerlo mediante una interfaz grafica que diseñe con KDevelop Desginer y entonces
como voy a obtener los datos de unos TextEdit que tengo en mi formulario no he podido encontrar la forma
de hacerlo.

Esta es una de las variantes que he intentado:


def conectarMySQL(self):

db=MySQLdb.connect(host='localhots',user='user',passwd='pass',db = 'prueba')

c = db.cursor(MySQLdb.cursors.DictCursor)

sql = 'INSERT INTO registro (nombres, apellidos, telefono) VALUES (%s, %s, %s, )',
(self.txtNombres.text(),self.txtApellidos.text(), self.txtTelefono.text())

c.execute(sql)

Ha ver sin con esto tal vez tengas una mejor idea de que es lo que quiero hacer. Debes tener en cuenta que los datos
deben ser obtnidos de los TextEdit en el formulario.

De antemano muchas gracias por tu ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Insertar en MySql desde Python

Publicado por Cyrus (9 intervenciones) el 30/10/2008 13:39:11
No faltan las comillas en la SQL?, al ser tipo TEXT se pone asi:

sql = 'INSERT INTO registro (nombres, apellidos, telefono) VALUES ("%s", "%s", "%s")'

Y ademas sobra la ultima coma. yo lo que hago siempre antes del execute, es un print sql, para ver la consulta entera, y si algo me falla la intento meter en la base de datos para ver que error me da.

A ver si asi funciona.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Insertar en MySql desde Python

Publicado por ayuda (2 intervenciones) el 11/12/2008 18:10:37
hola amigos tengo problemas con el insert en mysql utilzando python , mis campos son enteros y floats

y la sentencia del insert que he pùesto es

self.cursor.execute('INSERT INTO Usuario(idUsuario) VALUES ("%ent")', int(self.numid))

esto es el execute

alguien me podria decir como s ehace pues no me sale

gracias
amigos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Insertar en MySql desde Python

Publicado por cristian (1 intervención) el 30/12/2019 21:27:00
esta es otra forma de insertar datos de forma manual


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# aqui inportamos las librerias
import mysql.connector
import os
 
# aqui pide el nombre del usuario y lo guarda en una variable nombre
nombre=input("ingrese su nombre: \n ")
edad=int(input("ingrese su edad: \n"))
# aqui imprime la informacion que el usuario metio
print(f"su nombre es {nombre} y tienes {edad} años")
# aqui hacemos una condicion  if para que el usuario
# cumpla con el requisito de la edad minima para entrar
if edad < 12:
    print("no puede pasar por que eres muy joven")
else:
    print(f"bienvenido {nombre} \t")
def menu():
    os.system('cls')
    print("selecciona cualquiera de las siguientes opciones ")
    print("\t1 - primera opción  insertar datos ala base de datos")
    print("\t2 - segunda opción mostar datos")
    print("\t3 - tercera opción")
    print("\t9 - salir")
while True:
    menu()
    opcionmenu = input("ingrese una de las ociones ")
    if opcionmenu == "1":
        print("")
        import mysql.connector
 
        mydb = mysql.connector.connect(
            host='localhost', port=3306, user='root', passwd='', db='camilo')
 
        mycursor = mydb.cursor()
 
        sql = "INSERT INTO compras (nombre,presio,cantidad) VALUES (%s, %s, %s)"
        nombre = input("inserte el nombre: ")
        presio = float(input("inserte el presio:"))
        cantidad = int(input("inserte la cantidad"))
 
        mycursor.execute(sql, (nombre, presio, cantidad))
 
        mydb.commit()
 
        print(mycursor.rowcount, "record inserted.")
        input("Has pulsado la opción 1...\npulsa una tecla para continuar")
    elif opcionmenu == "2":
        print("")
        import pymysql
 
        conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='', db='camilo')
 
        cur = conn.cursor()
        cur.execute("SELECT * FROM compras")
 
        print(cur.description)
        print()
 
        for row in cur:
            print(row)
 
        cur.close()
        conn.close()
        input("Has pulsado la opción 2...\npulsa una tecla para continuar")
    elif opcionmenu == "3":
        print("")
        input("Has pulsado la opción 3...\npulsa una tecla para continuar")
    elif opcionmenu == "9":
        break
    else:
        print("")
        input("No has pulsado ninguna opción correcta...\npulsa una tecla para continuar")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar