MySQL - Syntaxe Python
Bonjour, futurs programmeurs ! Aujourd'hui, nous allons entreprendre un voyage passionnant à la découverete du monde de MySQL et de Python. En tant que votre enseignant informatique de quartier bienveillant, je suis là pour vous guider à travers cette aventure étape par étape. Ne vous inquiétez pas si vous n'avez jamais écrit une ligne de code auparavant - nous allons commencer du tout début et progresser ensemble.
Installation du connecteur "python-mysql"
Avant de pouvoir utiliser MySQL avec Python, nous devons installer un outil spécial appelé un connecteur. Imaginez-le comme un pont qui permet à Python de communiquer avec les bases de données MySQL. Commençons !
Étape 1 : Installer Python
Premièrement, assurez-vous d'avoir Python installé sur votre ordinateur. Si ce n'est pas le cas, rendez-vous sur le site officiel de Python (python.org) et téléchargez la dernière version compatible avec votre système d'exploitation.
Étape 2 : Installer le connecteur MySQL
Maintenant, installons le connecteur MySQL. Ouvrez votre invite de commandes ou terminal et tapez la commande suivante :
pip install mysql-connector-python
Appuyez sur Entrée et laissez la magie opérer ! Cette commande indique à pip (l'installateur de paquets Python) de télécharger et d'installer le connecteur MySQL pour nous.
Fonctions Python pour accéder à MySQL
Maintenant que nous avons installé notre connecteur, examinons certaines des fonctions que nous utiliserons pour travailler avec les bases de données MySQL. J'aime penser que ces fonctions sont comme des sorts spéciaux dans notre grimoire de programmation !
Voici un tableau des fonctions MySQL les plus courantes en Python :
Fonction | Description |
---|---|
mysql.connector.connect() |
Crée une connexion à la base de données MySQL |
connection.cursor() |
Crée un objet curseur pour exécuter des requêtes SQL |
cursor.execute() |
Exécute une requête SQL |
cursor.fetchone() |
Récupère la prochaine ligne du résultat de la requête |
cursor.fetchall() |
Récupère toutes les lignes du résultat de la requête |
connection.commit() |
Valide la transaction en cours |
cursor.close() |
Ferme le curseur |
connection.close() |
Ferme la connexion à la base de données |
Ne vous inquiétez pas si cela vous semble un peu mystérieux pour le moment. Nous explorerons chacun d'eux en détail au fur et à mesure.
Exemple de base
Maintenant, mettons tout ce que nous avons appris en pratique avec un exemple de base. Nous allons nous connecter à une base de données MySQL, créer une table, insérer des données, puis les récupérer. Excitant, n'est-ce pas ? Plongeons dedans !
import mysql.connector
# Étape 1 : Établir une connexion à la base de données MySQL
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
# Étape 2 : Créer un objet curseur
mycursor = mydb.cursor()
# Étape 3 : Créer une table
mycursor.execute("CREATE TABLE students (name VARCHAR(255), age INTEGER)")
# Étape 4 : Insérer des données dans la table
sql = "INSERT INTO students (name, age) VALUES (%s, %s)"
val = ("John Doe", 25)
mycursor.execute(sql, val)
# Étape 5 : Valider les modifications
mydb.commit()
# Étape 6 : Récupérer des données de la table
mycursor.execute("SELECT * FROM students")
result = mycursor.fetchall()
# Étape 7 : Afficher les résultats
for x in result:
print(x)
# Étape 8 : Fermer le curseur et la connexion
mycursor.close()
mydb.close()
Maintenant, décortiquons cela étape par étape :
Étape 1 : Établir une connexion
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
C'est comme frapper à la porte de notre base de données MySQL et dire : "Salut, c'est Python ! Peut-on entrer ?" Nous fournissons les informations nécessaires (hôte, nom d'utilisateur, mot de passe et nom de la base de données) pour établir la connexion.
Étape 2 : Créer un curseur
mycursor = mydb.cursor()
Un curseur est comme notre baguette magique. Nous l'utiliserons pour lancer nos sorts SQL (exécuter des requêtes) sur la base de données.
Étape 3 : Créer une table
mycursor.execute("CREATE TABLE students (name VARCHAR(255), age INTEGER)")
Ici, nous utilisons notre curseur pour créer une nouvelle table appelée "students" avec deux colonnes : "name" (qui peut contenir du texte jusqu'à 255 caractères) et "age" (qui contient des nombres entiers).
Étape 4 : Insérer des données
sql = "INSERT INTO students (name, age) VALUES (%s, %s)"
val = ("John Doe", 25)
mycursor.execute(sql, val)
Maintenant, nous ajoutons un étudiant à notre table. Nous utilisons %s comme placeholders pour nos valeurs, ce qui aide à prévenir les attaques par injection SQL (un sujet pour une autre fois !).
Étape 5 : Valider les modifications
mydb.commit()
Cette ligne est comme appuyer sur le bouton "Sauvegarder". Elle indique à MySQL de sauvegarder définitivement les modifications que nous avons apportées.
Étape 6 : Récupérer des données
mycursor.execute("SELECT * FROM students")
result = mycursor.fetchall()
Ici, nous demandons à MySQL de nous montrer toutes les données de notre table "students". La fonction fetchall()
récupère tous les résultats.
Étape 7 : Afficher les résultats
for x in result:
print(x)
Cette boucle parcourt chaque ligne de nos résultats et les imprime. C'est comme ouvrir un livre et lire chaque ligne.
Étape 8 : Fermer les connexions
mycursor.close()
mydb.close()
Enfin, nous fermons notre curseur et notre connexion à la base de données. N'oubliez jamais de fermer la porte lorsque vous avez terminé !
Et voilà ! Vous venez d'écrire votre premier programme Python qui interagit avec une base de données MySQL. Souvenez-vous, apprendre à coder est comme apprendre une nouvelle langue - cela nécessite de la pratique et de la patience. Ne soyez pas découragé si vous ne comprenez pas tout de suite. Continuez à expérimenter, et avant que vous ne vous en rendiez compte, vous serez en train d'écrire des applications de base de données complexes !
Dans notre prochaine leçon, nous plongerons plus profondément dans des opérations MySQL plus avancées avec Python. Jusque-là, bon codage !
Credits: Image by storyset