Temps de lecture approximative : 8 minutes
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.
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.
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 :
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.
id | prenom | nom | 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 :
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.
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.
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.