Découvrir le langage SQL
Identifier le fonctionnement des bases de données et rédiger ses premières commandes
Comprendre les tables, lignes et colonnes
- Nous avons vu qu'une base de données contient des tables.
- Chaque table est composée de colonnes.
- Chaque table contient des enregistrements (les lignes).
- Chaque enregistrement doit être identifié par une donnée unique. stockée dans une colonne spéciale appelée clé primaire.
Notre première requête SQL
-
Pour notre première requête SQL, nous allons nous connecter au serveur SQL.
-
L'adresse du serveur SQL = mariadb.pro.ndlpavranches.fr
-
Le compte utilisateur = etudiant
-
Le mot de passe = etudiant
Avec HeidiSQL
Avec le client SQL en console
Console = Invite de commandes = En ligne de commandes = Terminal
Pour vous connecter au serveur de BD avec le client SQL en ligne de commandes sous Windows :
- Touches
Windows + R
- Saisir
cmd
puis toucheEntrée
Voici la commande à saisir pour se connecter, en ligne de commande :
-
mysql -h mariadb.pro.ndlpavranches.fr -u etudiant -p
-
on saisit ensuite le mot de passe
etudiant
-
Si l'erreur suivant apparaît
-
Il suffit d'ajouter le chemin vers l'exécutable
mysql
dans la variable d'environnementPATH
de Windows. -
et de redémarrer l'Invite de commandes de Windows.
Ajouter le chemin vers l'exécutable 'mysql' dans la variable d'environnement 'PATH' de Windows
- Il nous faut tout d'abord trouver le chemin vers l'exécutable
mysql
- Pour cela nous allons ouvrir,
avec l'Explorateur de fichiers,
le dossier
C:\Program Files\MariaDB x.x\bin
- afin de vérifier la présence du fichier exécutable
mysql.exe
- cliquer dans la Barre d'adresses
- copier le chemin complet
C:\Program Files\MariaDB x.x\bin
Il suffit ensuite :
- d'ouvrir le Panneau de configuration
- de cliquer sur Système et sécurité
- de cliquer sur Système
- de cliquer sur Paramètres avancés du système
- de cliquer sur Variables d'environnement
- dans la partie Variables système, de cliquer sur Path
- de cliquer sur Modifier...
- de cliquer sur Nouveau
- de coller le chemin
C:\Program Files\MariaDB x.x\bin
- d'appuyer sur la touche
Entrée
- de cliquer sur OK (3 fois)
- de fermer le Panneau de configuration
Nom de la base de données
-
Nous allons utiliser une base de données qui contient les données de gestion commerciale d'une entreprise.
-
Cette base de données s'appelle
gestcom
. -
La commande SQL pour utiliser une base de données est :
-
USE nom_de_la_base_de_donnees;
-
Voici la commande à saisir pour utiliser la base de données gestcom :
-
USE gestcom;
Le MCD
-
Ensuite nous allons interroger (c'est à dire faire des requêtes sur) cette base de données
gestcom
. -
Pour connaître le nom des tables et des colonnes, il suffit de consulter un schéma qui s'appelle le MCD.
-
Nous étudierons plus tard ce qu'est un MCD.
-
Pour l'instant, je vais vous communiquer le nom des tables et des colonnes.
Afficher le contenu d'une table
-
Comment afficher la liste des informations sur les clients ?
-
Dans cette base de données, la table qui contient la liste des clients s'appelle
llx_societe
. -
La commande SQL pour afficher le contenu d'une table est :
-
SELECT * FROM nom_de_la_table;
-
Dans notre exemple, la commande SQL à saisir est donc :
-
SELECT * FROM llx_societe;
Afficher une colonne d'une table
-
Comment afficher la liste des noms des clients ?
-
La colonne qui contient les noms des clients s'appelle
nom
. -
La commande SQL pour afficher une colonne d'une table est :
-
SELECT nom_de_la_colonne FROM nom_de_la_table;
-
Dans notre exemple, la commande SQL à saisir est donc :
-
SELECT nom FROM llx_societe;
-
Veuillez noter qu'une commande SQL se termine toujours par le caractère ; (point-virgule)
Trier les résultats
-
Comment afficher la liste des noms des clients, triés par ordre alphabétique ?
-
La commande SQL à ajouter, pour trier par ordre alphabétique est :
-
...
ORDER BY nom_de_la_colonne
... -
Dans notre exemple, la commande SQL à saisir est donc :
-
SELECT nom FROM llx_societe
ORDER BY nom;
Afficher plusieurs colonnes
-
Comment afficher la liste des noms et des codes clients, triés par ordre alphabétique des noms ?
-
La colonne qui contient les codes clients des clients s'appelle
code_client
. -
La commande SQL pour afficher deux colonnes d'une table est :
-
SELECT nom_de_la_colonne1, nom_de_la_colonne2 FROM nom_de_la_table;
-
Dans notre exemple, la commande SQL à saisir est donc :
-
SELECT nom, code_client FROM llx_societe
ORDER BY nom;
Filtrer les résultats
-
Comment afficher la liste des noms et des codes clients, pour les codes clients qui existent et triés par ordre alphabétique des noms ?
-
La commande SQL à ajouter pour n'afficher que les enregistrements pour lesquels une colonne contient une donnée (n'est pas nulle) est :
-
...
WHERE nom_de_la_colonne IS NOT NULL
... -
Dans notre exemple, la commande SQL à saisir est donc :
-
SELECT nom, code_client FROM llx_societe
WHERE code_client IS NOT NULL ORDER BY nom;
Trier les résultats
-
Comment afficher la liste des codes clients et des noms, pour les codes clients qui existent et triés par ordre alphabétique des codes clients ?
-
En s'inspirant des commandes SQL que nous venons de découvrir,
-
dans notre exemple, la commande SQL à saisir est donc :
-
SELECT code_client, nom FROM llx_societe
WHERE code_client IS NOT NULL ORDER BY code_client;
Afficher plusieurs colonnes
-
Comment afficher la liste des codes clients, des noms et des adresses complètes, pour les codes clients qui existent et triés par ordre alphabétique des codes clients ?
-
La colonne qui contient les adresses des clients s'appelle
address
. -
La colonne qui contient le code postal des clients s'appelle
zip
. -
La colonne qui contient la ville des clients s'appelle
town
. -
Dans notre exemple, la commande SQL à saisir est donc :
-
SELECT code_client, nom , address, zip, town FROM llx_societe
WHERE code_client IS NOT NULL ORDER BY code_client;
Limiter le nombre de résultats
-
Comment afficher la liste des codes clients, des noms et des adresses complètes, pour les codes clients qui existent et triés par ordre alphabétique des codes clients
-
pour les 10 premiers clients ?
-
La commande SQL pour limiter le nombre d'enregistrements est :
-
...
LIMIT nombre_enregistrements
-
Dans notre exemple, la commande SQL à saisir est donc :
-
SELECT code_client, nom , address, zip, town FROM llx_societe
WHERE code_client IS NOT NULL ORDER BY code_client LIMIT 10;
Résumé
- Vous avez atteint la fin de cette partie.
- À ce stade, vous devez comprendre les tables, lignes et colonnes.
- Et vous savez :
- trier les résultats,
- afficher plusieurs colonnes,
- filtrer les résultats
- et limiter le nombre de résultats.