Aller au contenu principal

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 connexion

  • Pour notre première requête SQL, nous allons nous connecter au serveur SQL.

  • L'adresse du serveur SQL = etudiants.joliciel.org

  • Le compte utilisateur = etudiant

  • On saisit ensuite le mot de passe.

    Mot de passe d'accès au serveur SQL

Avec le client SQL HeidiSQL


Avec le client SQL en console

1) Ouvrir l'Invite de commandes

Pour vous connecter au serveur de BD avec le client SQL en ligne de commandes sous Windows :

  • Touches Windows + R
  • Saisir cmd puis touche Entrée
Vocabulaire

Console = Invite de commandes = En ligne de commandes = Terminal

2) Se connecter au serveur

Voici la commande à saisir pour se connecter, en ligne de commande :

  • mysql -h etudiants.joliciel.org -u etudiant -p

  • On saisit ensuite le mot de passe.

    Mot de passe d'accès au serveur SQL
  • Si l'erreur suivant apparaît

  • Il suffit d'ajouter le chemin vers l'exécutable mysql dans la variable d'environnement PATH 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 :

  1. d'ouvrir le Panneau de configuration
  2. de cliquer sur Système et sécurité
  3. de cliquer sur Système
  4. de cliquer sur Paramètres avancés du système
  5. de cliquer sur Variables d'environnement

  1. dans la partie Variables système, de cliquer sur Path
  2. de cliquer sur Modifier...
  3. de cliquer sur Nouveau
  4. de coller le chemin C:\Program Files\MariaDB x.x\bin
  5. d'appuyer sur la touche Entrée
  6. de cliquer sur OK (3 fois)
  7. de fermer le Panneau de configuration

3) Tester la connexion

Voici la commande à saisir pour tester la connexion :

SHOW DATABASES;

Notre première requête SQL

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;

Quelques requêtes SQL utiles

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 êtes en mesure de comprendre l'organisation en 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.

Test de mémorisation/compréhension


Quelle commande SQL est utilisée pour afficher le contenu d'une table ?


Quelle commande SQL est utilisée pour trier les résultats par ordre alphabétique d'une colonne spécifique ?


Quelle commande SQL est utilisée pour afficher plusieurs colonnes d'une table ?


Quelle commande SQL est utilisée pour filtrer les résultats où une colonne spécifique contient une donnée (n'est pas nulle) ?


Quelle commande SQL est utilisée pour limiter le nombre d'enregistrements retournés par une requête ?