Aller au contenu

Insertion MySQL

Cet article couvre les insertions MySQL en Python, des opérations de base aux meilleures pratiques. À la fin, vous aurez une compréhension complète de la manière d'utiliser Python pour insérer des données dans une base de données MySQL.

Introduction

Python et MySQL sont deux des outils les plus populaires utilisés dans l'industrie technologique. Python est un langage de programmation de haut niveau facile à apprendre et disposant d'une vaste bibliothèque de modules. MySQL est un système de gestion de base de données relationnelles largement utilisé pour stocker et gérer des données.

Insérer des données dans une base de données MySQL à l'aide de Python est une tâche fondamentale. Ce guide couvre les étapes pour insérer des données, ainsi que les meilleures pratiques pour garantir l'efficacité et l'évolutivité de votre code.

Configuration

Avant de plonger dans le code, nous devons nous assurer que les outils nécessaires sont installés. Nous devrons installer les packages suivants :

  • Python
  • MySQL Connector/Python

Une fois ces packages installés, nous pouvons passer à l'étape suivante, qui consiste à établir une connexion à la base de données MySQL.

Établissement d'une connexion à la base de données MySQL

Afin d'insérer des données dans une base de données MySQL à l'aide de Python, nous devons d'abord établir une connexion à la base de données. Nous pouvons le faire en utilisant le module MySQL Connector/Python.

Pour établir une connexion, nous devons fournir les informations suivantes :

  • Nom d'hôte
  • Nom d'utilisateur
  • Mot de passe
  • Nom de la base de données

Une fois la connexion établie, nous pouvons ensuite créer un objet curseur pour exécuter des instructions SQL.

Se connecter à une base de données MySQL à l'aide de Python

python
import mysql.connector

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

mycursor = mydb.cursor()

Insertion de données

Maintenant que la connexion est établie, nous pouvons insérer des données. Il existe deux méthodes principales :

  1. Insertion d'une seule ligne
  2. Insertion de plusieurs lignes

Remarque : Assurez-vous que votre table customers existe avec les colonnes name et address avant d'exécuter les exemples ci-dessous.

Insertion d'une seule ligne

Pour insérer une seule ligne dans une base de données MySQL, nous pouvons utiliser l'instruction INSERT INTO.

Insérer une seule ligne dans une base de données 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()

Remarque : La syntaxe du placeholder %s est spécifique au pilote mysql-connector-python. Utilisez mycursor.lastrowid pour récupérer l'ID auto-incrémenté de la nouvelle ligne insérée.

Insertion de plusieurs lignes

Pour insérer plusieurs lignes dans une base de données MySQL, nous pouvons utiliser la méthode executemany().

Insérer plusieurs lignes dans une base de données MySQL à l'aide de 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()

Conclusion

Ce guide a couvert les bases de l'insertion de données dans une base de données MySQL à l'aide de Python, y compris la configuration de la connexion, les insertions de lignes uniques et les insertions groupées avec executemany(). En suivant ces techniques, vous pouvez stocker et gérer des données efficacement. Merci d'avoir lu. Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire ci-dessous.

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.