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.

MySQL - Python Syntax

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