Saltar al contenido

Inserción en MySQL

Este artículo cubre las inserciones en MySQL con Python, desde operaciones básicas hasta mejores prácticas. Al final, tendrás una comprensión completa de cómo usar Python para insertar datos en una base de datos MySQL.

Introducción

Python y MySQL son dos de las herramientas más populares utilizadas en la industria tecnológica. Python es un lenguaje de programación de alto nivel que es fácil de aprender y cuenta con una vasta biblioteca de módulos. MySQL es un sistema de gestión de bases de datos relacionales de amplio uso, utilizado para almacenar y gestionar datos.

Insertar datos en una base de datos MySQL utilizando Python es una tarea fundamental. Esta guía cubre los pasos para insertar datos, junto con las mejores prácticas para garantizar que tu código sea eficiente y escalable.

Configuración

Antes de sumergirnos en el código, debemos asegurarnos de tener las herramientas necesarias instaladas. Necesitaremos instalar los siguientes paquetes:

  • Python
  • MySQL Connector/Python

Una vez que hayas instalado estos paquetes, podemos pasar al siguiente paso, que es establecer una conexión con la base de datos MySQL.

Establecer una conexión con la base de datos MySQL

Para insertar datos en una base de datos MySQL usando Python, primero debemos establecer una conexión con la base de datos. Podemos hacerlo utilizando el módulo MySQL Connector/Python.

Para establecer una conexión, necesitamos proporcionar la siguiente información:

  • Nombre del host
  • Nombre de usuario
  • Contraseña
  • Nombre de la base de datos

Una vez establecida la conexión, podemos crear un objeto cursor para ejecutar sentencias SQL.

Conectar a una base de datos MySQL usando Python

python
import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

Inserción de datos

Ahora que hemos establecido una conexión, podemos insertar datos. Existen dos métodos principales:

  1. Insertar una sola fila
  2. Insertar múltiples filas

Nota: Asegúrate de que tu tabla customers exista con las columnas name y address antes de ejecutar los ejemplos a continuación.

Insertar una sola fila

Para insertar una sola fila en una base de datos MySQL, podemos usar la sentencia INSERT INTO.

Insertar una sola fila en una base de datos MySQL en Python

python
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")

try:
  mycursor.execute(sql, val)
  mydb.commit()
  print(mycursor.rowcount, "record inserted.")
  print("Last inserted ID:", mycursor.lastrowid)
except mysql.connector.Error as err:
  print(f"Error: {err}")
  mydb.rollback()
finally:
  mycursor.close()
  mydb.close()

Nota: La sintaxis del marcador de posición %s es específica del controlador mysql-connector-python. Usa mycursor.lastrowid para recuperar el ID de autoincremento de la fila recién insertada.

Insertar múltiples filas

Para insertar múltiples filas en una base de datos MySQL, podemos usar el método executemany().

Insertar múltiples filas en una base de datos MySQL usando Python

python
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')
]

try:
  mycursor.executemany(sql, val)
  mydb.commit()
  print(mycursor.rowcount, "records inserted.")
except mysql.connector.Error as err:
  print(f"Error: {err}")
  mydb.rollback()
finally:
  mycursor.close()
  mydb.close()

Conclusión

Esta guía cubrió los conceptos básicos para insertar datos en una base de datos MySQL usando Python, incluida la configuración de la conexión, inserciones de una sola fila e inserciones masivas con executemany(). Siguiendo estas técnicas, puedes almacenar y gestionar datos de manera eficiente. Gracias por leer. Si tienes alguna pregunta o comentario, no dudes en dejar un comentario a continuación.

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.