Temps de lecture approximative : 8 minutes

Introduction - MySQL

Le cours a pour but d’apprendre les principales commandes SQL avec le SGBD MySQL telles que : SELECT, FROM, WHERE, INSERT INTO, UPDATE, DELETE, etc. Chaque commande SQL sera présentée dans un chapitre dédié avec des exemples clairs, simples et concis.

Avant de se lancer corps et âme dans l'apprentissage de ce nouveau cours dédié aux bases de données, à MySQL et au langage SQL, nous allons prendre le temps d'exposer quelques concepts de base.

Base de données

Une base de données est un ensemble d'informations (données) qui ont été stockées sur un support informatique de manière organisée et structurée afin de pouvoir facilement consulter et modifier leur contenu.

On peut prendre l'exemple d'une entreprise lambda avec un outil de facturation. Une base de données est fort utile pour stocker les clients et les informations liées à ces derniers comme les coordonnées et les contacts. Cette même base devra pouvoir stocker des devis, des factures, etc. en lien avec ces clients. Cet ensemble de données constitue une base de données. On peut faire le parallèle avec une boutique e-commerce. La base de données d'un tel site doit pouvoir stocker toutes les informations du catalogue produits ainsi que celles liées aux clients et aux commandes.

Avoir une base de données, c'est bien, pouvoir intéragir avec, c'est beaucoup mieux. Dans l'absolu, on peut créer une base de données avec un ensemble de fichiers textes et même dans un tableau. Seulement, ces solutions ont des limites. En effet, il devient rapidement très complexe de faire des sélections précises de données ou de retrouver rapidement une information. C'est pour ces raisons que des Systèmes de Gestion de Bases de Données (SGBD), comme MySQL, ont été inventées.

Système de Gestion de Base de Données (SGBD)

Un SGBD est un logiciel permettant d'intéragir avec les informations d'une base de données. On entend par intéragir, sélectionner, ajouter, modifier et supprimer des données de la base. On regroupe généralement ces opérations sous l'acronyme CRUD pour (Create, Read, Update and Delete). MySQL est bien évidemment un SGBD.

Nous venons de le voir, une base de données seule ne suffit pas. Nous avons donc préconisé d'héberger notre base de données au sein d'un SGBD. Pour utiliser MySQL, il est nécessaire d'utiliser un nouveau langage, à savoir le SQL.

Le SQL pour Structured Query Language, est un langage permettant de dialoguer avec une base de données. Ce type de langage est essentiel pour dialoguer avec le SGBD.

On peut donc résumer :

  • Les Systèmes de Gestion de Base de Données (SGBD) permettent de gérer les bases de données.
  • MySQL est un SGBD.
  • Le langage SQL est utilisé pour dialoguer avec MySQL.

Organisation d'une base de données

Une base de données MySQL est organisée avec différentes tables. Une base de données contient une ou plusieurs tables, dont les noms doivent être uniques au sein de la base de la données. Une table contient des colonnes. Les colonnes contiennent les données.

Table : clients
id prenom nom email ville
1 Marine Leroy mleroy@example.com Paris
2 Jean René jrene@example.com Lyon
3 Ted Bundy tbundy@example.com Miami

Ci-dessus, la table clients représentée ici sous la forme d'un tableau, contient les colonnes suivantes :

  • id
  • prenom
  • nom
  • email
  • ville

Les données insérées dans les tables sont représentées sous la forme de ligne (tuple). Dans notre exemple, la table clients contient 3 tuples.

Exemple d'un schéma de base de données complet

Afin de se rendre compte et d'avoir une idée de la façon dont sont stockées les données au sein d'un outil tel que le CMS PrestaShop, retrouvez ci-dessous le schéma de base de données d'une ancienne version du CMS PrestaShop. Chaque rectangle représente une table. Les traits entre les différentes tables représentent les relations qu'elles ont entre elles. Les blocs de couleurs mettent en avant les univers des tables : produits, clients, commandes, transporteurs, etc.

Illustration d'un schéma de base de données complet
Schéma de base de données d'une ancienne version du CMS PrestaShop

Ce cours sur MySQL/SQL en est un parmi tant d'autres. Le web regorge de ressources sur le développement web. Celui-ci a été rédigé par mes soins et est orienté pour les débutants. Il est non-exhaustif. Si vous repérez une erreur ou un oubli, vous pouvez bien évidemment me contacter.

Ajout du chapitre IN / NOT IN et LIKE en mars 2020.

Ce cours a été rédigé en avril 2019.