Chapitre 4 : Le langage SQL
Définition
Le SQL (Structured Query Language) est le langage standard
qui permet de "parler" à une base de données. Contrairement
à un langage de programmation classique, on ne dit pas à
l'ordinateur comment faire, on lui dit ce que l'on veut.
Plan du chapitre 4
▪Le Langage de Définition des Données (LDD)
▪Le Langage de Manipulation des Données (LMD)
▪Le Langage d’Interrogation des Donnés (LID)
SQL ?
• Sous langages SQL
• LDD : Langage de Définition des Données :Création, modification,
suppression du schéma de la BD, des composants du schéma de la BD
(colonne, contrainte etc.) CREATE, ALTER, RENAME, DROP
• LMD : Langage de Manipulation des Données : Manipulation des données :
ajout, suppression, modification INSERT, UPDATE, DELETE
• LID : Langage d’Interrogation des Données : Sélection de données SELECT
• LCD : Langage de Contrôle des Données : Contrôle de l’accès aux données :
droits d’accès, vues etc. GRANT, REVOKE
• LCT : Langage de Contrôle des Transactions : Validation et annulation des
transactions COMMIT, ROLLBACK
Objets SQL
• Identificateurs(c’est le nom de la table que tu crées) : Chaîne de
30 caractères au plus : lettres, chiffres, caractères spéciaux,
commence par une lettre q Identificateur different mot clé
• Tables : Implémentation des relations, associées à un schéma
• Colonnes : Implémentation de l’attribut d’une relation q Les
données d’une même colonne sont de même type q Des
colonnes de différentes tables peuvent porter le même nom
Types des colonnes
• Numérique
• Chaîne de caractères
• Temporels
• Binaire
Les Familles de Types de Données en SQL
• Famille Numérique :
• INT (Exemple : un âge ou un effectif comme 25).
• DECIMAL (Exemple : un prix ou une mesure précise comme 19.99).
• Famille Chaîne de caractères :
• VARCHAR(n) (Exemple : un nom ou une ville comme 'Kouala').
• CHAR(n) (Exemple : un code fixe ou des initiales comme 'CG').
• Famille Temporelle :
• DATE (Exemple : une date de naissance comme '2006-05-12').
• DATETIME (Exemple : un rendez-vous fixe comme '2026-01-27 14:30:00').
• TIMESTAMP (Exemple : un horodatage système automatique comme '2026-01-27 12:25:04').
• Famille Binaire :
• BOOLEAN (Exemple : un état logique comme Vrai/Faux ou 1/0).
• BLOB (Exemple : un objet lourd comme une photo de profil ou un fichier image).
DÉFINITION DES DONNÉES
1. Création de tables (CREATE TABLE)
C'est l'étape de conception. On définit ici le nom de la table, ses colonnes et
le type de chaque donnée.
• Règle des Identificateurs : * 30 caractères maximum.
• Doit impérativement commencer par une lettre.
• Interdiction d'utiliser des mots-clés réservés (ex: TABLE, SELECT).
• Exemple de syntaxe :
CREATE TABLE Departement (
id_dept INT PRIMARY KEY,
nom_dept VARCHAR(30)
);
DÉFINITION DES DONNÉES
2.Définition des contraintes d’intégrité :
Les contraintes sont des règles de validation qui empêchent la saisie de
données erronées.
• PRIMARY KEY (Clé primaire) : Identifie chaque ligne de manière
unique (pas de doublon, pas de vide).
• NOT NULL : Rend la saisie de la colonne obligatoire.
• UNIQUE : Interdit les doublons (ex: un numéro de sécurité sociale).
DÉFINITION DES DONNÉES
3. Mise à jour de la structure de tables(ALTER TABLE)
• Le SQL permet de faire évoluer une table existante sans la détruire
grâce aux "Altères".
• ADD : Ajouter une nouvelle colonne.
• ALTER TABLE Departement ADD localisation VARCHAR(50);
• MODIFY : Changer le type ou la contrainte d'une colonne.
• ALTER TABLE Departement MODIFY nom_dept VARCHAR(100) NOT NULL;
• DROP COLUMN : Supprimer une colonne inutile.
• ALTER TABLE Departement DROP COLUMN localisation;
[Link] de tables (DROP TABLE)
• Cette commande détruit la table, sa structure, ses index et toutes les
données qu'elle contient de manière définitive.
• Syntaxe : DROP TABLE Departement;
L'INSERTION DES DONNÉES (INSERT)
Bien que l'insertion appartienne au LMD (Langage de Manipulation des
Données), elle est l'étape logique qui suit immédiatement la création
de la table.
1. Syntaxe de l'insertion
L'instruction INSERT INTO permet d'ajouter des occurrences (lignes).
• Méthode recommandée (par désignation) :
Syntaxe sql:
INSERT INTO Departement (id_dept, nom_dept)
VALUES (10, 'Informatique');
Synthèse
Objectif Commande Famille Portée
Créer le moule CREATE LDD Structure
Garantir la qualité CONSTRAINT LDD Règles
Modifier le moule ALTER LDD Structure
Ajouter du contenu INSERT LMD Données
Détruire le moule DROP LDD Structure