Skip to main content

Command Palette

Search for a command to run...

Introduction au langage SQL

Published
7 min readView as Markdown
Introduction au langage SQL

1. Généralités sur SQL

Le SQL (Structured Query Language), en français langage de requête structuré, est un langage standard permettant à un client de communiquer des instructions à une base de données. Créé au début des années 1970 par Donald Chamberlin et Raymond Boyce, deux ingénieurs d'IBM, SQL est aujourd'hui reconnu comme une norme internationale.

SQL se compose de quatre sous-langages et, comme tout langage, possède une syntaxe bien précise, incluant des instructions pour définir et manipuler les données.

2. Les sous-langages de SQL

SQL se divise en quatre parties principales :

  • LDD (Langage de Définition des Données) : permet de créer et modifier les bases de données et les tables (CREATE, ALTER, DROP, RENAME).

  • LMD (Langage de Manipulation des Données) : permet de manipuler les données dans une base (SELECT, INSERT, UPDATE, DELETE).

  • LCD (Langage de Contrôle des Données) : gère les permissions et les accès (GRANT, REVOKE).

  • LCT (Langage de Contrôle des Transactions) : gère les transactions (COMMIT, ROLLBACK).

Dans le cadre de ce cours, nous nous concentrerons sur LDD et LMD.

3. Les types de données en SQL

SQL propose plusieurs types de données, parmi lesquels :

  • Numériques : INTEGER (32 bits), SMALLINT (16 bits), FLOAT

  • Chaînes de caractères : CHAR(n), VARCHAR(n)

  • Date et Heure : DATE (XX/XX/XXXX), TIME

4. Les contraintes d'intégrité en SQL

Les contraintes assurent la cohérence et la validité des données d'une table. Elles incluent :

  • PRIMARY KEY : définit une clé primaire unique

  • FOREIGN KEY : définit une clé étrangère

  • NOT NULL : empêche les valeurs nulles

  • UNIQUE : assure l'unicité d'une valeur

  • CHECK(condition) : impose une contrainte logique

  • DEFAULT : attribue une valeur par défaut

5. Définition des données

A. Création et suppression d'une base de données

  • Créer une base de données :

CREATE DATABASE ma_base;

  • Supprimer une base de données :

DROP DATABASE ma_base;

Note : cela va supprimer toutes les tables et toutes les données de cette table de cette base de données

B. Création de tables

Syntaxe générale :

CREATE TABLE nom_table (

colonne1 TYPE_DONNEES CONTRAINTES,

colonne2 TYPE_DONNEES CONTRAINTES

);

Exemple de création d'une table utilisateur :

CREATE TABLE utilisateur (

id INT PRIMARY KEY,

nom VARCHAR(100) NOT NULL,

prenom VARCHAR(100) NOT NULL,

email VARCHAR(255) NOT NULL UNIQUE,

date_naissance DATE NOT NULL,

pays VARCHAR(255) NOT NULL,

ville VARCHAR(255) NOT NULL,

code_postal VARCHAR(5) NOT NULL,

nombre_achat INT NOT NULL

);

C. Modification du schéma

  • Supprimer une table :
    DROP TABLE nom_table;

La commande DROP TABLE en SQL permet de supprimer définitivement une table d’une base de données. Cela supprime en même temps les éventuels index, triggers, contraintes et permissions associées à cette table.

Note : s’il y a une dépense avec une autre table, il est recommandé de les supprimer avant de supprimer la table. C’est le cas par exemple s’il y a des clés étrangères.

il faut utiliser cette commande avec attention car une fois supprimée, les données sont perdues. Avant de l’utiliser sur une base importante il peut être judicieux d’effectuer un backup (une sauvegarde) pour éviter les mauvaises surprises.

  • Ajouter une colonne :
    ALTER TABLE utilisateur ADD adresse_rue VARCHAR(255);
  • Supprimer une colonne :
    ALTER TABLE utilisateur DROP COLUMN adresse_rue;
  • Modifier une colonne :
    ALTER TABLE utilisateur MODIFY nom VARCHAR(150);
  • Renommer une colonne :
    ALTER TABLE utilisateur RENAME COLUMN nom TO nom_complet;

6 . MANIPULATION DES DONNÉES EN SQL

Les commandes SELECT, INSERT, UPDATE et DELETE sont les quatre principales instructions utilisées pour manipuler les données dans une base de données SQL.

A. LA COMMANDE SELECT (Requête de lecture)

L'instruction SELECT est la plus couramment utilisée en SQL, car elle permet de lire et d'extraire des données d'une base de données. Elle retourne les résultats sous forme de tableau. Voici sa syntaxe de base :

  • SELECT nom_du_champ FROM nom_de_la_table;

Cette requête sélectionne le champ nom_du_champ provenant de la table nom_de_la_table.

Obtenir plusieurs colonnes :

Pour récupérer plusieurs colonnes, il suffit de séparer leurs noms par une virgule. Par exemple, pour obtenir les prénoms et noms des clients :

  • SELECT prenom, nom FROM client;
Obtenir toutes les colonnes d’une table

Pour sélectionner toutes les colonnes d’une table sans les lister individuellement, utilisez le caractère * :

  • SELECT * FROM client;

Cette requête retourne toutes les colonnes de la table client.

SQL DISTINCT

L'instruction DISTINCT permet d'éliminer les doublons dans les résultats. Par exemple :

  • SELECT DISTINCT ma_colonne FROM nom_de_la_table;

Cette requête retourne uniquement les valeurs uniques de ma_colonne dans la table nom_de_la_table.

SQL WHERE

La clause WHERE filtre les lignes en fonction d'une condition. Elle s’utilise ainsi :

  • SELECT nom_colonnes FROM nom_table WHERE condition;
Opérateurs de comparaison

Les conditions dans WHERE peuvent être combinées avec les opérateurs logiques AND et OR :

  • AND : Toutes les conditions doivent être vraies.
    SELECT nom_colonnes FROM nom_table WHERE condition1 AND condition2;

  • OR : Au moins une des conditions doit être vraie.
    SELECT nom_colonnes FROM nom_table WHERE condition1 OR condition2;

  • Les parenthèses permettent de structurer des combinaisons complexes :
    SELECT nom_colonnes FROM nom_table WHERE condition1 AND (condition2 OR condition3);

SQL ORDER BY

La clause ORDER BY trie les résultats par ordre croissant (ASC) ou décroissant (DESC). Par défaut, l’ordre est croissant :

  • SELECT colonne1, colonne2 FROM table ORDER BY colonne1 ASC, colonne2 DESC;

B. LA COMMANDE INSERT (Ajout de données)

L'instruction INSERT permet d’ajouter de nouvelles lignes dans une table. Voici sa syntaxe :

  • INSERT INTO nom_table (liste_de_colonnes) VALUES (liste_de_valeurs);
Insertion d’une seule ligne

Pour insérer un client dans la table client :

  • INSERT INTO client (IdCli, nom, ville) VALUES ('c100', 'Duduche', 'Nice');
Insertion de plusieurs lignes

Il est possible d’ajouter plusieurs lignes en une seule requête :

  • INSERT INTO client (prenom, nom, ville, age) VALUES

  • ('Rébecca', 'Armand', 'Saint-Didier-des-Bois', 24),

  • ('Aimée', 'Hebert', 'Marigny-le-Châtel', 36),

  • ('Marielle', 'Ribeiro', 'Maillères', 27);

Note :

  • Les valeurs de type texte (VARCHAR, TEXT) doivent être entourées de guillemets simples.

  • Les valeurs numériques (INT, BIGINT) n’ont pas besoin de guillemets.

C. LA COMMANDE UPDATE (Mise à jour de données)

L'instruction UPDATE modifie les données existantes dans une table. Elle est souvent utilisée avec une clause WHERE pour cibler les lignes à modifier. Syntaxe :

  • UPDATE nom_table SET nom_colonne = 'nouvelle_valeur' WHERE condition;
Exemple sans condition WHERE

Pour modifier toutes les lignes d'une table :

  • UPDATE client SET ville = 'Paris';
Exemple avec condition WHERE

Pour modifier uniquement les clients dont la ville est Nice :

  • UPDATE client SET ville = 'Marseille' WHERE ville = 'Nice';

D. LA COMMANDE DELETE (Suppression de données)

L'instruction DELETE supprime des lignes d’une table. Elle s’utilise ainsi :

  • DELETE FROM nom_table WHERE condition;
Exemple avec condition WHERE

Pour supprimer les clients habitant à Nice :

  • DELETE FROM client WHERE ville = 'Nice';
Attention : Suppression sans condition WHERE

Si aucune condition WHERE n’est spécifiée, toutes les lignes de la table seront supprimées :

  • DELETE FROM client;

Note : cela vide complètement la table.

Ces quatre commandes fondamentales (SELECT, INSERT, UPDATE, DELETE) permettent de manipuler efficacement les données dans une base de données SQL. Leur maîtrise est essentielle pour gérer et interagir avec les bases de données relationnelles.

SQL est un langage puissant pour la gestion des bases de données. Il permet de définir, manipuler et contrôler les données efficacement. En apprenant à maîtriser ses différentes commandes, vous pourrez interagir facilement avec une base de données et optimiser vos requêtes.

7. Conseils pour progresser en SQL

Pour progresser efficacement en SQL, il est essentiel de pratiquer régulièrement. La meilleure manière d'apprendre est de manipuler des bases de données, de créer des tables et d'expérimenter avec différentes requêtes. Travailler sur des projets concrets, comme la gestion d'un inventaire ou d'un système de réservation, permet d'appliquer les concepts théoriques dans un cadre réel.

Il est également important d'explorer les requêtes avancées telles que les jointures (JOIN), les sous-requêtes et l'optimisation des performances avec les index. Ces notions rendent les bases de données plus efficaces et facilitent le traitement des informations.

Les ressources en ligne comme SQLZoo, W3Schools ou Mode Analytics sont d'excellents outils pour pratiquer et approfondir ses connaissances grâce à des exercices interactifs. La documentation officielle des bases de données et les forums comme Stack Overflow et GitHub sont également des sources précieuses pour trouver des solutions à des problèmes spécifiques et découvrir des astuces d’optimisation.

Enfin, cultiver un esprit de recherche et de curiosité est essentiel. SQL évolue constamment, et de nouvelles techniques et bonnes pratiques apparaissent régulièrement. Rester informé et s'entraîner régulièrement garantira une maîtrise solide et une progression continue.

Visite notre site web d'aide aux étudiants