Use la declaración INSERT INTO para informar una tabla en MySQL,
Cómo insertar registros en una tabla con INSERT INTO en Python
Ejemplo para insertar un registro en la tabla de “clientes”:
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="tu_usuario", passwd="tu_contraseña", database="tu_bbdd" ) mycursor = mydb.cursor() sql = "INSERT INTO clientes (nombre, direccion) VALUES (%s, %s)" val = ("Carlos", "C/Mayor 1") mycursor.execute(sql, val) mydb.commit() print(mycursor.rowcount, "registro insertado")
Es necesario realizar los cambios, de lo contrario no se realizarán cambios en la tabla.
Insertar filas múltiples
Para insertar varias filas en una tabla, use el método executemany().
El segundo parámetro del método executemany() es una lista de tuplas, que contiene los datos que desea insertar:
Ejemplo
Llene la tabla de «clientes» con datos:
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="tu_usuario", passwd="tu_contraseña", database="tu_bbdd" ) mycursor = mydb.cursor() sql = "INSERT INTO clientes (nombre, direccion) VALUES (%s, %s)" val = [ ('Ana', 'C/ Mayor 1'), ('Carlos', 'C/Arriba 10'), ('Vanesa', 'C/Samaranch 156'), ('Antonio, 'Plaza de Mexico 16'), ('Enrique', 'Calle de la Rosa 36'), ('Javi', 'C/ Marzo 23'), ('Agus', 'C/ La Montaña') ] mycursor.executemany(sql, val) mydb.commit() print(mycursor.rowcount, "Se ha insertado")
Obtener ID insertada
Puede obtener el ID de la fila que acaba de insertar preguntando el objeto del cursor.
Importante: Si inserta más de una fila, se devuelve el ID de la última fila insertada.
Ejemplo
Inserte una fila y devuelva el ID:
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="tu_usuario", passwd="tu_contraseña", database="tu_bbdd" ) mycursor = mydb.cursor() sql = "INSERT INTO clientes (nombre, direccion) VALUES (%s, %s)" val = ("Javier", "C/Marzo 23") mycursor.execute(sql, val) mydb.commit() print("1 registro insertado, ID", mycursor.lastrowid)