Python MySQL Insertar en la tabla
Insertar en la tabla
Para llenar una tabla en MySQL, use la instrucción "INSERT INTO".
Ejemplo
Inserte un registro en la tabla "clientes":
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name,
address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql,
val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")
¡Importante!: Note la declaración:
mydb.commit()
. Es obligatorio realizar los cambios, de lo contrario no se realizan cambios en la tabla.
Insertar varias filas
Para insertar varias filas en una tabla, utilice el
executemany()
método.
El segundo parámetro del executemany()
método es una lista de tuplas que contiene los datos que desea insertar:
Ejemplo
Rellene la tabla de "clientes" con datos:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name,
address) VALUES (%s, %s)"
val = [
('Peter', 'Lowstreet 4'),
('Amy', 'Apple st 652'),
('Hannah', 'Mountain 21'),
('Michael', 'Valley 345'),
('Sandy', 'Ocean blvd 2'),
('Betty', 'Green Grass 1'),
('Richard', 'Sky st 331'),
('Susan', 'One way 98'),
('Vicky', 'Yellow Garden 2'),
('Ben', 'Park Lane 38'),
('William', 'Central st 954'),
('Chuck', 'Main Road 989'),
('Viola', 'Sideway 1633')
]
mycursor.executemany(sql, val)
mydb.commit()
print(mycursor.rowcount, "was inserted.")
Obtener ID insertado
Puede obtener la identificación de la fila que acaba de insertar preguntando al objeto del cursor.
Nota: si inserta más de una fila, se devuelve la identificación de la última fila insertada.
Ejemplo
Inserte una fila y devuelva el ID:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name,
address) VALUES (%s, %s)"
val = ("Michelle", "Blue Village")
mycursor.execute(sql, val)
mydb.commit()
print("1 record
inserted, ID:", mycursor.lastrowid)