PYTHON MySQL INSERT INTO

Use la declaración “INSERT INTO” para informar una tabla en MySQL,

Ejemplo

Inserte 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.

Nota: 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)