Derniers jours - 🎁 Jusqu’à 990€ de remise sur la formation de votre choix + Formation GenAI OFFERTE* ! 🎁
Derniers jours - 🎁 Jusqu’à 990€ de remise sur la formation de votre choix + Formation GenAI OFFERTE* ! 🎁
Derniers jours - 🎁 Jusqu’à 990€ de remise sur la formation de votre choix + Formation GenAI OFFERTE* ! 🎁
Je profite de l'offre

MySQL : c’est quoi ? Comment utiliser ce système de gestion open source ?

Découvre un des SGBDR les plus populaires du monde ! Cet article va t’initier au fonctionnement de MySQL, un outil incontournable pour les Data Analyst.

Mis à jour le
15/5/2024

MySQL est un système de gestion de base de données relationnelles (SGBDR). Il s’agit d’un SGBDR open-source développé et supporté par Oracle, le leader mondial de la base de données. MySQL est aujourd’hui un des SGBDR les plus utilisés dans le monde. Il est donc indispensable pour un futur Data Analyst de bien comprendre son fonctionnement.

Quelle est la différence entre MySQL et SQL?

SQL est un langage qui permet d’effectuer des requêtes sur des bases de données relationnelles.

Ces BDD ont la particularité d’exploiter différentes tables mises en relation par un système de clé primaire et de clé étrangère.

Une table est composée de lignes et de colonnes comme sur un tableau Excel :

  • Chaque ligne corresponde à un enregistrement,
  • Un enregistrement est composé de plusieurs données, réparties dans plusieurs colonnes. Chaque donnée correspond à un champ. Un enregistrement est donc composé de plusieurs champs.
  • Chaque colonne correspond à un attribut qui permet de classifier un champ

Par exemple, regardons la base de données d’une boutique en ligne. Celle-ci regroupe deux types de données :

  • Les informations des différentes commandes du magasin : Nom du produit et prix
  • Les informations des clients du magasin : Prénom, nom, adresse.

Si on utilise un tableau Excel pour gérer cette base de données, on est obligé de répéter inutilement des informations concernant le client.

Base de données non relationnelle

Pour éviter cette répétition on va diviser cette base de données en deux tables :

  • « Commande » : Contient les enregistrements des commandes du magasin.
  • « Client » : Contient les enregistrements des clients du magasin.
Base de donnée relationnelle MySQL

Ainsi, on évite de répéter inutilement des informations !

Pour relier les tables entre elles, une base de données relationnelle utilise des « clés ». 

Une clé primaire ou une clé étrangère permet d’identifier de manière unique chaque enregistrement d’une table. Pour cela, un numéro d’identification est souvent utilisé (ex : “ID client”, “ID commande”...)

Le SQL est un langage de programmation qui permet de venir interroger cette base de données avec des requêtes. En s’appuyant sur les clés, une requête SQL peut manipuler et combiner différentes tables afin d’effectuer diverses analyses.

Par exemple, on peut demander à la base de données d’afficher les commandes passées par Olivia Dupont grâce à la requête SQL suivante :

SELECT *
FROM Commande
INNER JOIN Client ON Commande.ID_Client = Client.ID_Client
WHERE ID_Client = 2

Remarque : cette requête effectue une jointure SQL de la table Commande et de la table Client, puis la clause WHERE permet de filtrer les résultats.

MySQL, quant à lui, est un système de gestion de base de données relationnelles (SGBDR). Ce système est un logiciel qui nous permet d’exploiter une BDD. Il sert d’interface entre l’utilisateur et la BDD. 

Son travail est de récupérer les requêtes SQL de l’utilisateur et de les appliquer sur la base de données.

En résumé :

  • Le langage SQL permet d’écrire les requêtes qui permettent de manipuler et d’analyser la base de données.
  • MySQL est un système qui permet de créer et administrer une base de données et sur lequel on peut effectuer des requêtes SQL.

MySQL et SQL sont donc complémentaires.

Pour devenir Data analyst en entreprise, la maîtrise du langage SQL est un vrai atout sur ton CV. En suivant le bootcamp de Databird, ce langage n’aura plus de secret pour toi !



Histoire de MySQL

Histoire MySQL


MySQL est né le 23 mai 1995. Il est développé par MySQL AB, une société suédoise fondée par David Axmark, Allan Larsson et Michael Widenius.

Son nom vient de l’association de « My » (le nom de la fille d’un des co-fondateurs) avec SQL.

Pendant les années 90, mSQL est le SGBDR le plus populaire. Il s’agit d’un système open-source qui simplifie l’utilisation des requêtes SQL.

La création de MySQL vient de l’idée de développer une version de mSQL plus rapide et plus flexible.

Ce pari est une réussite car MySQL prend rapidement la place de mSQL sur le marché des SGBDR.

MySQL connaît ensuite une série d’améliorations jusqu’au rachat de MySQL AB par Sun Microsystems en 2008. Le succès de MySQL suscite alors l’intérêt du géant de l’informatique Oracle, qui en fait l’acquisition en 2010, par le biais du rachat de Sun Microsystems.

Cependant, à l’annonce du rachat futur par Oracle, le co-créateur de MySQL, Michael Widenius, décide de réaliser un fork et lance MariaDB en 2009. 

Un « fork » signifie que les développeurs ont pris le codeMySQL comme base et l’ont ensuite utilisé pour créer MariaDB.

MariaDB

Aujourd’hui, MySQL est le deuxième SGBDR le plus utilisé dans le monde :

Classement SGBDR
Source

MySQL, un modèle Client-Serveur

MySQL est un SGBDR qui se base sur un modèle Client-Serveur. Ce modèle décrit la communication entre le stockage de la BDD et l’utilisateur :

  • Le serveur correspond à l’endroit où sont stockées les données. Par exemple, un serveur chez un fournisseur Cloud.
  • Le Client correspond à l’utilisateur qui va interroger la base de données. Le client va utiliser une requêteSQL qui va créer une demande sur le serveur.
Modèle Client Serveur

Par exemple, prenons une boutique en ligne qui stocke ses informations sur un serveur cloud hébergé chez Google. Lorsqu’un client du site réalise une commande, le site va envoyer une requête SQL au serveur pour ajouter la commande dans la BDD. 

Ici, le serveur est Google qui stocke la base de données et le client est le site internet.

 {{banniere-article}}

Les avantages de MySQL

MySQL est un des SGBDR leader du marché car il se démarque avec 4 avantages majeurs : 

  • Il est Open-source
  • Il est Multi-plateforme
  • Il est Performant
  • Il est Populaire

Un SGBDR open source

Bien que MySQL soit détenu par Oracle, une entreprise privée, le système est open-source. C’est-à-dire que le code source du logiciel est accessible à tous gratuitement. 

Un avantage d’un logiciel open-source, c’est sa communauté ! 

En effet, les utilisateurs de MySQL personnalisent le code source du logiciel selon leurs besoins. Ainsi, si tu as une question ou si tu rencontres un problème avec MySQL, il est fort probable qu’une réponse t’attende sur un forum spécialisé.

Enfin, les mises à jour sont plus rapides car elles ne passent pas par un processus propriétaire. Si une innovation liée aux bases de données relationnelles apparaît, MySQL est directement patché par des membres de la communauté.

Le logiciel est donc toujours à la pointe de la technologie !

Il existe cependant des versions propriétaires (payantes) de MySQL car elles offrent plus de fonctionnalités. Cela dit, la version gratuite open-source est suffisante pour la plupart des utilisations.


MySQL n’est pas le seul SGBDR open-source du marché. Son concurrent majeur est PostgreSQL. Chaque système a ses atouts et le choix de l’un ou l’autre va dépendre de la nature du projet Data. Cependant, faire un choix entre MySQL vs PostgreSQL est une étape obligée pour toute entreprise qui souhaite devenir data driven.

Un SGBDR multi-plateforme

MySQL est compatible avec tous les systèmes d’exploitation : Mac, Linux et Windows. Cette caractéristique simplifie grandement l’utilisation du SGBDR par les entreprises. Un utilisateur peut travailler sur une base de données gérée par MySQL depuis n’importe quel système d’exploitation.

Un SGBDR performant

MySQL dispose d’une architecture de stockage unique qui permet de le rendre beaucoup plus performant que ses concurrents. Autrement dit, il a besoin de moins de puissance de calcul pour effectuer les mêmes tâches. 


Par exemple, les sites web ont parfois des grands volumes de requêtes à gérer. Il n’est pas rare pour un site de devoir gérer des millions de requêtes par jour ! Un manque de performance ralentit le site et rend l’expérience de l’utilisateur désastreuse.

Performance sur internet

C’est ainsi que la performance de MySQL en fait un leader de la gestion de BDD de site web. Il est utilisé aujourd’hui par des géants comme Google, Netflix ou encore Amazon.

Un SGBDR populaire

Enfin, MySQL est extrêmement populaire dans l’écosystème des systèmes de bases de données relationnelles. Sa popularité en fait un outil incontournable.

Il est donc facile de trouver des informations, des tutos ou des avis sur le logiciel. Ces ressources en font un outil très facile à prendre en main !

Plus besoin de passer des heures sur Google pour comprendre comment créer ta base de données.


Le monde de la Data t’intéresse ? Viens jeter un coup d’œil à nos formations à la data analyse, et deviens-toi aussi un Databirdies !



Comment créer une base de données MySQL? 

Maintenant que tu comprends mieux le fonctionnement de MySQL nous allons passer à la pratique. Nous allons voir dans cette partie comment créer une base de données pour un site web avec MySQL.

Installer MySQL sur le serveur

Pour installer MySQL, nous allons réaliser deux étapes :

  1. Installer la dernière version de MySQL
  2. Installer Phpmyadmin,

Pour installer MySQL, il suffit de se rendre sur le site officiel et de télécharger la dernière version du logiciel adapté à ton système d’exploitation : Windows, Mac ou Linux.

Pour un débutant, il peut être difficile d’administrer la base de données d’un site avec MySQL directement. Pour te faciliter la tâche, tu peux utiliser une interface visuelle par navigateur : Phpmyadmin.


Effectivement, sans Phpmyadmin, ton seul moyen d’administrer la base de données est la ligne de commande sur MySQL. Cela signifie que tu n’as pas d’interface visuelle – juste une fenêtre de commande où tu dois entrer des lignes de codes en SQL.

Fenetre de commande - MySQL

Mais pas de panique ! Grâce à  Phpmyadmin, pas besoin de lignes de code !

En effet, Phpmyadmin va te fournir une interface avec des champs de textes et des fonctionnalités qui remplace les lignes de code.

Le logiciel traduit chaque action de l’interface en requêtes SQL qui sont ensuite transmises à MySQL.

Attention : pour que phpmyadmin fonctionne, il faut que Apache et PHP soient installés sur le serveur. 

Apache est un logiciel de serveur web gratuit et open-source. Quant à PHP c’est un langage de programmation pour développer des pages web

Le combo Apache/PHP permet de pouvoir directement développer et gérer un site web et sa base de données.

L’installation d’Apache/PHP va dépendre de ton système d’exploitation :

  • Pour Windows : tu peux installer le module Wamp server
  • Pour Mac :  tu peux installer Mamp. Il existe une version Pro payante mais la gratuite suffit amplement.
  • Pour Linux : tu peux installer XAMPP.

Ces modules vont directement installer Phpmyadmin avec Apache et PHP.

Pour vérifier que ton installation s’est effectuée correctement, il te suffit de te rendre sur ton navigateur internet et de taper dans la barre url : “ localhost/phpmyadmin”.

Interface de phpmyadmin

Bienvenue sur Phpmyadmin ! Il s’agit d’une interface de gestion d’une base de données MySQL particulièrement populaire car très facile à prendre en main.

Créer une base de données grâce à Phpmyadmin

Voyons comment procéder pour créer une base de données pour une boutique en ligne avec Phpmyadmin

  1. Aller sur la page d’accueil de Phpmyadmin
  2. Sur la page d'accueil, cliquer sur « Bases de données ».
  3. Dans l’onglet « Créer une base de données », entrer le nom de ta BDD : « Boutique »
  4. Cliquer sur créer.
Créer une base de données MySQL avec phpmyadmin

Une fois la base de données créée, elle apparaît dans la liste sous l’outil de création.

Il faut maintenant ajouter les tables « Commande » et « Client » : 

  • « Commande » avec pour attributs : Id commande, produit, prix, Id client.
  • « Client » avec pour attributs : Nom, prénom, adresse, date de naissance, Id client.

 Voici la procédure pour créer une nouvelle table sur phpmyadmin :

  • Sélectionner la base de données concernée (ici, « Boutique »)
  • Cliquer sur « créer une table »
  • Indiquer le nom de la nouvelle table (ici, « Client »)
  • Indiquer le nombre de colonnes. Dans la table « Client », il y a 5 attributs donc 5 colonnes.
  • Cliquer sur exécuter
Créer une table MySQL avec phpmyadmin

Il te suffit de faire pareil pour la table « Commande » et la base de données est créée ! Il ne reste plus qu’à remplir les colonnes dans l’outil Phpmyadmin.

Et voilà le tour est joué ! Facile non ?

Créer une base de données par des requêtes SQL

Nous avons vu comment comment créer la base de données sans utiliser les lignes de code. Cependant, si tu le souhaites, Phpmyadmin permet aussi de manipuler ta base de données en écrivant tes propres requêtes SQL.


Pour pouvoir effectuer des requêtesSQL sur Phpmyadmin il faut ouvrir la fenêtre requêtes. Pour cela il faut cliquer sur l’icône correspondant :

Fenêtre de requêtes SQL - Phpmyadmin

Ensuite, tu auras accès à une zone de texte pour entrer tes requêtes. Le langage SQL permet de créer une base de données à l’aide d’une requête CREATE DATABASE.

Tu peux maintenant créer la BDD « Boutique » : 

CREATE DATABASE Boutique

Cette requête va ajouter une nouvelle base de données « Boutique » dans la liste de tes BDD. 

Ajoutons maintenant les tables « Client » et « Commande ».


Pour créer la table « Client » il faut te rendre dans la BDD « Boutique » et ouvrir la fenêtre de requêtes. Un fois dans la fenêtre, tape la requête suivante :

1   CREATE TABLE Client (
2   Id client INT PRIMARY KEY,
3   Nom VARCHAR (15),
4   Prenom VARCHAR (15),
5   Adresse VARCHAR (15)
6   Date de naissance DATE,
7   );

Et voilà ! La table apparaît dans ta base de données


On effectue le même type de requête pour créer la table « Commande » et on obtient la base de données suivante :

Base de données MySQL

Il ne te reste plus qu’à la remplir d’enregistrements et la base de données MySQL est prête à être exploitée !

Faites un premier pas dans la data avec nos cours gratuits
Démarrer
Difficulté :