Vous êtes sur la page 1sur 6

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.
Schéma de base de données d'une ancienne version du CMS PrestaShop
Commande SQL SELECT
La commande en SQL la plus basique mais ô combien, indispensable et essentielle est la
commande SELECT. Elle permet de sélectionner les données de son choix dans le résultat
d'une requête. L’utilisation la plus simple de cette commande s’effectue de la manière
suivante :

SQL
SELECT une_colonne FROM une_table;

Cette requête SQL, va donc sélectionner grâce à la commande SELECT, la colonne


une_colonne provenant de la table nommée une_table.

Afin de mettre en évidence son utilisation et de comprendre rapidement comment cette


dernière fonctionne, voyons ci-dessous un exemple. Pour cette première illustration, nous
utiliserons la table clients qui contient les colonnes et données suivantes. Cette dernière
simule la table qui contient les clients d'une entreprise quelconque.

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
4 Paul Bismuth pbismuth@example.com Londres
5 Caroline Rodriguez crodriguez@example.com Berlin

Reprenons notre première requête SQL et complétons correctement cette dernière avec la
table clients. Nous souhaitons sélectionner uniquement le prénom des clients. Pour
effectuer cette opération, la requête est la suivante :

SQL
SELECT prenom FROM clients;
Résultat
prenom
Marine
Jean
Ted
Paul
Caroline

Sélectionner plusieurs colonnes


Bien évidemment, le SQL permet de sélectionner plusieurs colonnes au sein de la même
reqûete. Il suffit tout simplement de séparer les noms des colonnes souhaitées par une ,
(virgule). Ainsi, si l'on souhaite sélectionner uniquement le prénom et le nom des clients,
on peut construire la requête suivante :
SQL
SELECT prenom, nom FROM clients;
Résultat
prenom nom
Marine Leroy
Jean René
Ted Bundy
Paul Bismuth
Caroline Rodriguez

Sélectionner toutes les colonnes


Le SQL répond bien évidemment à ce besoin et de manière très simple. Il est possible de
sélectionner automatiquement toutes les colonnes d'une table, sans même préciser le nom de
ces dernières, grâce au joker (wildcard) suivant : * (étoile). Il s’utilise de la manière suivante :

SQL
SELECT * FROM clients;
Résultat
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
4 Paul Bismuth pbismuth@example.com Londres
5 Caroline Rodriguez crodriguez@example.com Berlin

Supprimer les doublons


Une base de données permet de stocker les données de manière ordonnée. Il arrive pour
diverses raisons que des doublons soient présents dans des tables. L'utilisation de la
commande SELECT seule ne permet pas d'éviter ce cas. Pour supprimer les doublons des
résultats d'une requête en SQL, il est nécessaire d'utiliser la commande SELECT DISTINCT.
Ci-après un exemple avec une nouvelle table nommée étudiants.

Attention, ce cours est dédié au SGBDR MySQL. Si vous utilisez Oracle, la commande n'est
pas SELECT DISTINCT mais SELECT UNIQUE.

Table : etudiants
id prenom nom classe
1 Flavien Rémy BTS
2 Jean Paul Licence
3 Zoé Dupont Licence
4 Vincent Dujardin Licence
5 Jean Edouard Master 2
La requête ci-après permet de lister les prénoms de la table étudiants sans les doublons. On
observe bien dans les résultats de la requête que le prénom Jean n'apparaît qu'une unique fois.
Le doublon a été supprimé.

SQL
SELECT DISTINCT prenom FROM etudiants;
Résultat
prenom
Flavien
Jean
Zoé
Vincent

Vous aimerez peut-être aussi