0% ont trouvé ce document utile (0 vote)
2 vues31 pages

Types de données et commandes SQL essentielles

Le document présente les types de données SQL, la gestion des contraintes de colonne, ainsi que les commandes pour créer et supprimer des bases de données et des tables. Il fournit également des exemples pratiques pour illustrer l'utilisation de ces commandes, ainsi que des exercices pour renforcer l'apprentissage. Enfin, il aborde la commande ALTER TABLE pour modifier la structure des tables existantes.

Transféré par

dossehcredel
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues31 pages

Types de données et commandes SQL essentielles

Le document présente les types de données SQL, la gestion des contraintes de colonne, ainsi que les commandes pour créer et supprimer des bases de données et des tables. Il fournit également des exemples pratiques pour illustrer l'utilisation de ces commandes, ainsi que des exercices pour renforcer l'apprentissage. Enfin, il aborde la commande ALTER TABLE pour modifier la structure des tables existantes.

Transféré par

dossehcredel
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cours : SQL

1- Types de données SQL :

 Numériques :

o INT : Entier sur 4 octets, utilisé pour stocker des valeurs


numériques entières.
o TINYINT : Entier sur 1 octet (de -128 à 127 ou 0 à 255 pour les
valeurs non signées).
o SMALLINT : Entier sur 2 octets.
o MEDIUMINT : Entier sur 3 octets.
o BIGINT : Entier sur 8 octets, pour les très grandes valeurs
numériques.
o DECIMAL(p, s) : Nombre décimal avec précision, pour stocker
des valeurs avec des décimales.
o FLOAT et DOUBLE : Nombres à virgule flottante, de
précisions différentes.

 Caractères et chaînes :
o CHAR(n) : Chaîne de caractères de longueur fixe.
o VARCHAR(n) : Chaîne de caractères de longueur variable,
jusqu'à un maximum de n caractères.
o TEXT : Chaîne de texte de longueur variable, pour stocker de
grandes quantités de texte. Jusqu'à 65,535 caractères (ou 64
Ko).
o TINYTEXT : Idéal pour de très petites quantités de texte,
comme un court résumé ou une description très succincte.
Jusqu'à 255 caractères (ou 255 octets).
o MEDIUMTEXT : Approprié pour des champs qui contiennent
de grandes quantités de texte, comme des articles de blog, des

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


descriptions complètes de produits ou des documents. Jusqu'à
16,777,215 caractères (ou 16 Mo).
o LONGTEXT : Conçu pour des données textuelles extrêmement
volumineuses, comme le contenu complet de livres, des
journaux de données (logs), ou des articles très longs. Jusqu'à
4,294,967,295 caractères (ou 4 Go).
 Date et heure :
o DATE : Stocke les dates au format YYYY-MM-DD.
o DATETIME : Stocke date et heure au format YYYY-MM-DD
HH:MM:SS.
o TIMESTAMP : Date et heure pour les horodatages, souvent
utilisé pour les enregistrements automatiques de date/heure.
o TIME : Stocke uniquement l’heure.
o YEAR : Stocke l'année sur 2 ou 4 chiffres.
 Booléens et valeurs logiques :
o BOOLEAN ou BOOL : Représente une valeur vraie ou fausse
(généralement stocké sous forme de TINYINT).
 Autres types :
o ENUM : Liste de valeurs possibles, utile pour les choix limités
(ENUM('Option1', 'Option2', ...)).
o SET : Liste de valeurs qui permet de sélectionner plusieurs
valeurs dans un ensemble défini.
o BLOB (Binary Large Object) : Utilisé pour stocker des données
binaires, comme des images ou des fichiers.

2- Gestion des contraintes de colonne :

o NOT NULL : Empêche une colonne de contenir des valeurs


nulles.
o DEFAULT : Définit une valeur par défaut pour une colonne,
utilisée si aucune valeur n'est fournie lors de l'insertion.

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


o AUTO_INCREMENT : Incrémente automatiquement la valeur
d’une colonne, souvent utilisé pour les identifiants uniques.
o PRIMARY KEY : Définit une colonne (ou un ensemble de
colonnes) comme clé primaire de la table, assurant l'unicité de
chaque enregistrement.
o FOREIGN KEY : Utilisée pour établir des relations entre deux
tables, en reliant une colonne de la table actuelle à une clé
primaire d'une autre table.
o UNIQUE : Garantit que toutes les valeurs d'une colonne sont
uniques.
o CHECK : Définit une condition qui doit être satisfaite par les
valeurs d’une colonne.
o INDEX : Utilisé pour optimiser les performances des requêtes
sur une colonne spécifique.
o CONSTRAINT : Utilisé pour définir des contraintes nommées,
particulièrement pour les clés étrangères et les vérifications.

3- CREATE DATABASE
La commande CREATE DATABASE est utilisée pour créer une
nouvelle base de données dans un système de gestion de base de
données. Une base de données contient des tables, des vues, des
procédures stockées, et d'autres objets utilisés pour stocker et
manipuler les données.

Syntaxe de base : CREATE DATABASE nom_de_la_base;


nom_de_la_base : Le nom de la base de données à créer. Il doit être
unique dans le SGBDR pour éviter les conflits.

Exemple 1 : Création d'une base de données simple


CREATE DATABASE ma_base;

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


Exemple 2 : Création d'une base de données avec des options
supplémentaires (MySQL)
Dans MySQL, vous pouvez spécifier le jeu de caractères et le
collationnement :
CREATE DATABASE ma_base CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
CHARACTER SET : Définit le jeu de caractères (comme UTF-8)
pour les données dans la base de données.
COLLATE : Définit le collationnement (méthode de tri des données),
ce qui affecte l'ordre des résultats dans les requêtes.

Exemple 3 : Création d'une base de données tout en évitant les


conflits ou erreurs d’exécution
Avant de créer une base de données, il est souvent judicieux de
vérifier si une base de données du même nom existe déjà pour éviter
les erreurs. Certains SGBDR, comme MySQL, permettent d'utiliser
l'option IF NOT EXISTS :
CREATE DATABASE IF NOT EXISTS ma_base;

4- DROP DATABASE
La commande DROP DATABASE permet de supprimer une base de
données si vous n'en avez plus besoin.
Attention : cette commande est irréversible et supprimera toutes
les tables et données de la base.
DROP DATABASE ma_base;

5- Exercices pratiques
a. Créer une base de données : Créez une base de données
nommée test_db.

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


b. Ajoutez un jeu de caractères et un collationnement : Créez une
base de données nommée commerce_db avec le jeu de
caractères UTF-8 et le collationnement utf8_general_ci.
c. Vérification de l'existence : Créez une base de données
nommée ecole_db, mais uniquement si elle n'existe pas.

SOLUTIONS :
-- Exercice a.
CREATE DATABASE test_db;

-- Exercice b.
CREATE DATABASE commerce_db CHARACTER SET utf8
COLLATE utf8_general_ci;

-- Exercice c.
CREATE DATABASE IF NOT EXISTS ecole_db;

6- CREATE TABLE
La commande CREATE TABLE est utilisée pour définir une
nouvelle table dans une base de données. Elle spécifie les colonnes
de la table, leurs types de données, les contraintes (comme les clés
primaires), et d'autres options.

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


Syntaxe de base :

CREATE TABLE nom_de_la_table (

nom_colonne1 type_donnees [contrainte],

nom_colonne2 type_donnees [contrainte],

...

);

nom_de_la_table : Le nom de la table que vous souhaitez créer.


nom_colonne : Le nom de chaque colonne dans la table.
type_donnees : Le type de données de la colonne (comme INT,
VARCHAR, DATE, etc.).
contrainte : Les contraintes appliquées à la colonne, comme
PRIMARY KEY, NOT NULL, UNIQUE, etc.

Autres contraintes courantes


Voici d'autres contraintes que vous pouvez utiliser dans CREATE
TABLE :
o FOREIGN KEY : Spécifie qu'une colonne est une clé étrangère,
pointant vers une colonne clé primaire d'une autre table.
o CHECK : Contraint les valeurs d'une colonne en fonction d'une
condition. Par exemple, CHECK (salaire >= 0) garantit que le
salaire est positif.
o AUTO_INCREMENT : Utilisé dans MySQL pour augmenter
automatiquement la valeur d'une colonne INT. Par exemple, id
INT AUTO_INCREMENT.

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


Exemple 1 : Table simple sans contrainte

CREATE TABLE employes (

id INT,

nom VARCHAR(50),

prenom VARCHAR(50),

salaire DECIMAL(10, 2),

date_embauche DATE

);

Ce code crée une table employes avec les colonnes suivantes :


 id : Identifiant de l'employé (entier).
 nom : Nom de l'employé (jusqu'à 50 caractères).
 prenom : Prénom de l'employé (jusqu'à 50 caractères).
 salaire : Salaire de l'employé (nombre décimal avec 10 chiffres au
total, dont 2 après la virgule).
 date_embauche : Date d'embauche de l'employé.

Exemple 2 : Table avec contraintes

CREATE TABLE employes (

id INT PRIMARY KEY,

nom VARCHAR(50) NOT NULL,

prenom VARCHAR(50) NOT NULL,

email VARCHAR(100) UNIQUE,

salaire DECIMAL(10, 2) DEFAULT 0.00,

date_embauche DATE

);

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


Dans cet exemple :
 PRIMARY KEY : id est défini comme clé primaire, ce qui signifie
qu'il doit être unique pour chaque employé et ne peut pas être
nul.
 NOT NULL : nom et prenom sont obligatoires, ils ne peuvent pas
être laissés vides.
 UNIQUE : email doit être unique dans la table.
 DEFAULT : salaire a une valeur par défaut de 0.00 si aucun
salaire n'est spécifié.

Exemple 3 : Table avec clé étrangère

CREATE TABLE departements (

id INT PRIMARY KEY,

nom VARCHAR(50) NOT NULL

);

CREATE TABLE employes (

id INT PRIMARY KEY,

nom VARCHAR(50) NOT NULL,

prenom VARCHAR(50) NOT NULL,

id_departement INT,

FOREIGN KEY (id_departement) REFERENCES departements(id)

);

Dans cet exemple :


 La table departements contient les informations sur chaque
département avec id comme clé primaire.

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


 La table employes a une colonne id_departement qui est une
clé étrangère pointant vers id dans la table departements,
établissant ainsi une relation entre les deux tables.

7- DROP TABLE
La commande DROP TABLE permet de supprimer une table si vous
n'en avez plus besoin.
Attention : cette commande est irréversible et supprimera toutes
les données contenues dans la table.
DROP TABLE employes;

8- Exercices pratiques
a. Créer une table simple : Créez une table clients avec des
colonnes id (clé primaire), nom, prenom, email (unique), et
telephone.
b. Ajouter une contrainte de clé étrangère : Créez une table
commandes avec les colonnes id_commande (clé primaire),
id_client (clé étrangère vers clients(id)), date_commande, et
montant.

SOLUTIONS

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


-- Exercice 1

CREATE TABLE clients (

id INT PRIMARY KEY,

nom VARCHAR(50) NOT NULL,

prenom VARCHAR(50) NOT NULL,

email VARCHAR(100) UNIQUE,

telephone VARCHAR(20)

);

-- Exercice 2

CREATE TABLE commandes (

id_commande INT PRIMARY KEY,

id_client INT,

date_commande DATE,

montant DECIMAL(10, 2),

FOREIGN KEY (id_client) REFERENCES clients(id)

);

9- ALTER TABLE
ALTER TABLE est une commande SQL qui modifie la structure
d'une table déjà créée. Elle est utile pour ajouter de nouvelles
colonnes, modifier des colonnes existantes, changer des types de
données, ajouter des contraintes, et plus encore.

Syntaxe de base : ALTER TABLE nom_de_la_table action;

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


 nom_de_la_table : Le nom de la table que vous souhaitez
modifier.
 action : L'opération que vous souhaitez effectuer, comme ADD
COLUMN, DROP COLUMN, MODIFY COLUMN, etc.
a. Ajouter une colonne (ADD COLUMN)

ALTER TABLE nom_de_la_table

ADD COLUMN nom_colonne type_donnees [contrainte];

-- Exemple

ALTER TABLE employes

ADD COLUMN age INT;

Cela ajoute une colonne age de type INT à la table employes.

b. Supprimer une colonne (DROP COLUMN)

ALTER TABLE nom_de_la_table

DROP COLUMN nom_colonne;

-- Exemple

ALTER TABLE employes

DROP COLUMN age;

Cela supprime la colonne age de la table employes.

c. Modifier le type de données d'une colonne (MODIFY COLUMN


ou ALTER COLUMN selon le SGBD)

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


ALTER TABLE nom_de_la_table

MODIFY COLUMN nom_colonne nouveau_type_donnees;

-- Exemple

ALTER TABLE employes

MODIFY COLUMN salaire DECIMAL(12, 2);

Cela modifie le type de données de la colonne salaire pour qu'elle


puisse contenir jusqu'à 12 chiffres au total, dont 2 après la
virgule.
d. Renommer une colonne (RENAME COLUMN)

ALTER TABLE nom_de_la_table

RENAME COLUMN ancien_nom TO nouveau_nom;

-- Exemple

ALTER TABLE employes

RENAME COLUMN prenom TO first_name;

Cela renomme la colonne prenom en first_name dans la table


employes.
e. Renommer une table (RENAME TO)

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


ALTER TABLE ancien_nom_table

RENAME TO nouveau_nom_table;

-- Exemple

ALTER TABLE employes

RENAME TO personnel;

Cela renomme la table employes en personnel.

f. Ajouter une contrainte (ADD CONSTRAINT)

ALTER TABLE nom_de_la_table

ADD CONSTRAINT nom_contrainte type_contrainte (nom_colonne);

-- Exemple

ALTER TABLE employes

ADD CONSTRAINT fk_id_departement FOREIGN KEY


(id_departement) REFERENCES departements(id);

Cela ajoute une contrainte de clé étrangère fk_id_departement qui


lie la colonne id_departement de la table employes à la colonne id
de la table departements.

g. Supprimer une contrainte (DROP CONSTRAINT)

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


ALTER TABLE nom_de_la_table

DROP CONSTRAINT nom_contrainte;

-- Exemple

ALTER TABLE employes

DROP CONSTRAINT fk_id_departement;

Cela supprime la contrainte fk_id_departement de la table


employes.

Exemple :

ALTER TABLE employes

ADD COLUMN adresse VARCHAR(100),

ADD COLUMN telephone VARCHAR(20);

ALTER TABLE employes

MODIFY COLUMN nom VARCHAR(100) NOT NULL;

ALTER TABLE employes

DROP COLUMN age;

ALTER TABLE employes

RENAME TO personnel;

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


10- Exercices pratiques
a. Ajouter une colonne : Ajoutez une colonne date_naissance de
type DATE à la table clients.
b. Modifier un type de données : Modifiez la colonne telephone
de VARCHAR(20) à VARCHAR(15) dans la table clients.
c. Supprimer une colonne et ajouter une contrainte : Supprimez
la colonne adresse de la table employes et ajoutez une
contrainte UNIQUE sur email.

SOLUTIONS

-- Exercice a

ALTER TABLE clients

ADD COLUMN date_naissance DATE;

-- Exercice b

ALTER TABLE clients

MODIFY COLUMN telephone VARCHAR(15);

-- Exercice c

ALTER TABLE employes

DROP COLUMN adresse;

ALTER TABLE employes


11- INSERT INTO
ADD CONSTRAINT unique_email UNIQUE (email);
La commande INSERT INTO en SQL est utilisée pour ajouter de
nouvelles lignes (ou enregistrements) dans une table. Elle permet

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


d'injecter des valeurs dans chaque colonne d'une table ou seulement
dans certaines d'entre elles.

Syntaxe de base :
INSERT INTO nom_de_la_table (colonne1, colonne2, ...)
VALUES (valeur1, valeur2, ...);

 nom_de_la_table : Le nom de la table dans laquelle vous voulez


insérer des données.
 colonne1, colonne2, ... : Les noms des colonnes dans lesquelles
vous allez insérer des valeurs.
 valeur1, valeur2, ... : Les valeurs à insérer dans chaque
colonne spécifiée.

Syntaxe simplifiée :
INSERT INTO nom_de_la_table
VALUES (valeur1, valeur2, ...);

Si vous insérez une valeur pour chaque colonne dans l'ordre exact
de la table, vous pouvez omettre la liste des colonnes.
Attention : Cette méthode suppose que vous connaissez l'ordre
exact des colonnes dans la table. Cela peut causer des erreurs si la
structure de la table change.

Exemple 1 : Insérer une ligne dans toutes les colonnes


Supposons une table employes avec les colonnes id, nom, et poste.

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


INSERT INTO employes (id, nom, poste)

VALUES (1, 'Alice', 'Développeur');

Exemple 2 : Insérer une ligne sans spécifier les colonnes (ordre


exact requis)

INSERT INTO employes

VALUES (2, 'Bob', 'Analyste');

Cela insère une nouvelle ligne avec les valeurs dans le même ordre
que les colonnes de la table employes.

Exemple 3 : Insérer des valeurs dans certaines colonnes seulement


Si certaines colonnes peuvent rester vides ou prendre une valeur
par défaut, vous pouvez omettre ces colonnes dans l’insertion.

INSERT INTO employes (nom, poste)

VALUES ('Charlie', 'Manager');

Exemple 4 : Insérer plusieurs lignes en une seule commande

INSERT INTO employes (nom, poste)

VALUES

('David', 'Consultant'),

('Emma', 'Designer'),

('Frank', 'Chef de projet');

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


Exemple 5 : Insérer des valeurs issues d’une autre table

INSERT INTO anciens_employes (id, nom, poste)

SELECT id, nom, poste

FROM employes

WHERE date_depart < '2024-01-01';

12- Exercices pratiques


a. Ajouter un nouvel employé avec les informations suivantes : nom
= "Isabelle", poste = "Marketing".

b. Insérer plusieurs enregistrements dans la table produits pour


des produits : "Chaise", "Table", et "Canapé", avec une colonne
prix.

c. Insérer des données à partir d'une autre table : Insérer tous les
produits avec un prix inférieur à 100 de la table produits_temp
dans la table produits_promo.

SOLUTIONS

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


-- Exercice a

INSERT INTO employes (nom, poste)

VALUES ('Isabelle', 'Marketing');

-- Exercice b

INSERT INTO produits (nom, prix)

VALUES

('Chaise', 49.99),

('Table', 89.99),

('Canapé', 299.99);

-- Exercice c

INSERT INTO produits_promo (nom, prix)

SELECT nom, prix

FROM produits_temp

WHERE prix < 100;

13- SELECT
La commande SELECT en SQL est utilisée pour extraire des
données d'une ou plusieurs tables d'une base de données. C'est
l'instruction la plus couramment utilisée pour interroger les
informations dans une base de données.

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


Syntaxe de base :
SELECT colonne1, colonne2, ...
FROM nom_de_la_table
WHERE conditions;

 colonne1, colonne2, ... : Les colonnes que vous voulez extraire.


Utiliser * sélectionne toutes les colonnes.
 nom_de_la_table : Le nom de la table d'où les données sont
extraites.
 WHERE : (optionnel) Spécifie les conditions pour filtrer les
résultats.

Exemple 1 : Sélectionner toutes les colonnes


Pour récupérer toutes les colonnes d'une table employes.

SELECT * FROM employes;

Exemple 2 : Sélectionner des colonnes spécifiques


Pour récupérer seulement le nom et le poste des employés

SELECT nom, poste FROM employes;

Exemple 3 : Filtrer les données avec WHERE


Le mot-clé WHERE permet de filtrer les résultats selon certaines
conditions.
Vous pouvez combiner plusieurs conditions avec AND et OR.

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


SELECT nom FROM employes

WHERE poste = 'Développeur';

SELECT nom FROM employes

WHERE poste = 'Développeur' AND ville = 'Paris';

SELECT nom FROM employes

WHERE poste = 'Développeur' OR ville = 'Paris';

Exemple 4 : Tri des résultats avec ORDER BY


La clause ORDER BY permet de trier les résultats selon une ou
plusieurs colonnes, en ordre croissant (ASC) ou décroissant (DESC).

SELECT nom, salaire FROM employes

ORDER BY salaire DESC;

Exemple 5 : Limiter le nombre de résultats avec LIMIT

SELECT nom FROM employes

LIMIT 5;

Cela retourne les 5 premiers résultats.

Exemple 6 : Limiter le nombre de résultats avec LIMIT


Les alias permettent de renommer temporairement les colonnes ou
tables dans le résultat.

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


SELECT nom AS "Nom de l'employé", poste AS "Poste"

FROM employes;

14- Fonctions d'agrégation


Les fonctions d'agrégation permettent d’effectuer des calculs sur les
données.
 COUNT : Compter le nombre de lignes
 SUM : Somme des valeurs
 AVG : Moyenne des valeurs
 MAX : Valeur maximale
 MIN : Valeur minimale

Exemple : Compter le nombre d’employés

SELECT COUNT(*) AS nombre_employes

FROM employes;

Exemple : Somme des salaires

SELECT SUM(salaire) AS total_salaires

FROM employes;

15- Combiner les tables avec JOIN


Les jointures (JOIN) permettent de combiner des lignes de deux
tables ou plus en fonction d’une condition commune.
 INNER JOIN : Retourne les lignes avec correspondance dans les
deux tables.
 LEFT JOIN : Retourne toutes les lignes de la table de gauche et
les correspondances de la table de droite.

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


 RIGHT JOIN : Retourne toutes les lignes de la table de droite et
les correspondances de la table de gauche.
 FULL JOIN : Retourne toutes les lignes lorsque des
correspondances existent dans l'une ou l'autre des tables.

Exemples avec JOIN

Table employes

id nom post id_departement


1 Alice Développeur 1
2 Bob Designer 2
3 Charlie Gestionnaire NULL
4 David Développeur 3

Table departements

id nom
1 Informatique
2 Création
3 Ressources Humaines
4 Marketing

 INNER JOIN retourne uniquement les lignes ayant une


correspondance dans les deux tables.

SELECT [Link] AS nom_employe, [Link] AS


nom_departement

FROM employes

INNER JOIN departements ON employes.id_departement =


[Link];

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


 LEFT JOIN retourne toutes les lignes de la table de gauche
(employes), et les lignes correspondantes de la table de droite
(departements). Si aucune correspondance n’est trouvée, les
valeurs de la table de droite seront NULL.

SELECT [Link] AS nom_employe, [Link] AS


nom_departement

FROM employes

LEFT JOIN departements ON employes.id_departement =


[Link];

 RIGHT JOIN retourne toutes les lignes de la table de droite


(departements), et les lignes correspondantes de la table de
gauche (employes). Si aucune correspondance n’est trouvée,
les valeurs de la table de gauche seront NULL.

SELECT [Link] AS nom_employe, [Link] AS


nom_departement

FROM employes

RIGHT JOIN departements ON employes.id_departement =


[Link];

 FULL JOIN retourne toutes les lignes lorsque des


correspondances existent dans l'une ou l'autre des tables. Si
une ligne de l’une des tables n’a pas de correspondance dans
l’autre, les valeurs manquantes seront NULL.

SELECT [Link] AS nom_employe, [Link] AS


nom_departement

FROM employes

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


FULL JOIN departements ON employes.id_departement =
[Link];

16- UPDATE
La commande UPDATE en SQL est utilisée pour modifier les
données existantes dans une table. Elle vous permet de mettre à
jour une ou plusieurs colonnes pour une ou plusieurs lignes d'une
table.

Syntaxe de base :
UPDATE nom_de_la_table
SET colonne1 = nouvelle_valeur1, colonne2 = nouvelle_valeur2, ...
WHERE conditions;

 nom_de_la_table : Le nom de la table où vous voulez mettre à jour


les données.
 SET : Spécifie les colonnes à mettre à jour et les nouvelles
valeurs.
 WHERE : (optionnel mais recommandé) Spécifie quelles lignes
mettre à jour. Si WHERE est omis, toutes les lignes de la table
seront mises à jour !

Exemple 1 : Mettre à jour une colonne pour des lignes spécifiques

Dans cet exemple, mettons à jour le poste de l'employé nommé


"Alice" pour qu'il devienne "Chef de projet".

UPDATE employes

SET poste = 'Chef de projet'

WHERE nom = 'Alice';

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


Exemple 2 : Mettre à jour plusieurs colonnes

Mettons à jour le poste et le salaire de "Bob".

UPDATE employes

SET poste = 'Directeur de création', salaire = 5500

WHERE nom = 'Bob';

Exemple 3 : Mettre à jour plusieurs lignes

Supposons que nous souhaitons augmenter de 10 % le salaire de tous


les employés dans le département "Informatique".

UPDATE employes

SET salaire = salaire * 1.10

WHERE id_departement = (SELECT id FROM departements WHERE


nom = 'Informatique');

Exemple 4 : Mettre à jour toutes les lignes (avec précaution)

Si vous souhaitez mettre à jour une colonne pour toutes les lignes de
la table, omettez la clause WHERE. Attention, cette approche peut
impacter toutes les données !

UPDATE employes

SET poste = 'Employé temporaire';

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


17- DELETE
La commande DELETE en SQL est utilisée pour supprimer des
lignes d'une table. Elle permet de retirer une ou plusieurs lignes en
fonction de critères spécifiés.

Syntaxe de base :
DELETE FROM nom_de_la_table WHERE conditions;

 nom_de_la_table : Le nom de la table d’où l’on souhaite supprimer


des lignes.
 WHERE : Spécifie les lignes à supprimer. Attention : Si la clause
WHERE est omise, toutes les lignes de la table seront supprimées
!

Exemple 1 : Supprimer une ligne spécifique

Imaginons que nous souhaitons supprimer l'employé nommé


"Alice" de la table employes.

DELETE FROM employes

WHERE nom = 'Alice';

Exemple 2 : Supprimer plusieurs lignes selon une condition

Pour supprimer tous les employés du département "Informatique",


on peut utiliser la commande suivante :

DELETE FROM employes

WHERE id_departement = (SELECT id FROM departements WHERE


nom = 'Informatique');

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


Cette requête utilise une sous-requête pour sélectionner l'id du
département Informatique et supprime ensuite tous les employés
liés à ce département.

Exemple 3 : Supprimer toutes les lignes d'une table

DELETE FROM employes;

Cette commande supprime toutes les lignes une par une, mais laisse
la structure de la table intacte.

TRUNCATE TABLE employes;

TRUNCATE est souvent plus rapide que DELETE car il libère


l'espace de stockage sans journaliser chaque suppression de ligne.

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


Exercice Globale sur SQL

Contexte de l'exercice

Vous travaillez pour une bibliothèque municipale qui souhaite créer une
base de données pour gérer ses livres, ses auteurs, ses membres, et leurs
emprunts de livres.

Votre mission : Créer et manipuler les tables nécessaires pour stocker les
informations sur les livres, les auteurs, les membres de la bibliothèque et
les emprunts. L’exercice vous guidera pour créer et remplir cette base de
données avec des exemples d'utilisation des différentes commandes SQL.

Étapes de l'exercice

1. Créer la base de données :

o Créez une base de données nommée Bibliotheque.

2. Créer les tables nécessaires :

Créez les tables suivantes avec leurs colonnes respectives :

o Auteurs : pour stocker les informations sur les auteurs.

 id_auteur (clé primaire, entier, auto-incrémenté)

 nom (texte, non nul)

 prenom (texte)

 nationalite (texte)

o Livres : pour stocker les informations sur les livres.

 id_livre (clé primaire, entier, auto-incrémenté)

 titre (texte, non nul)

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


 annee_publication (entier)

 genre (texte)

 id_auteur (clé étrangère référant Auteurs(id_auteur))

o Membres : pour stocker les informations sur les membres de


la bibliothèque.

 id_membre (clé primaire, entier, auto-incrémenté)

 nom (texte, non nul)

 prenom (texte)

 date_inscription (date)

o Emprunts : pour enregistrer les emprunts de livres par les


membres.

 id_emprunt (clé primaire, entier, auto-incrémenté)

 id_livre (clé étrangère référant Livres(id_livre))

 id_membre (clé étrangère référant


Membres(id_membre))

 date_emprunt (date)

 date_retour (date)

3. Modifier une table :

o Ajoutez une colonne email (texte) dans la table Membres pour


stocker l’email des membres.

4. Insérer des données dans les tables :

o Ajoutez des enregistrements dans chaque table.

o Voici un exemple pour chaque table :

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas


5. Utiliser les requêtes SELECT avec des JOIN :

o Récupérez la liste de tous les livres empruntés, avec les


informations du livre, de l'auteur et du membre qui a
emprunté le livre.

6. Mettre à jour les informations d’un membre :

o Supposons que Jean Dupont a changé son email. Mettez à jour


son adresse email avec la nouvelle adresse
[Link]@[Link].

7. Supprimer un emprunt spécifique :

o Supposons que Sophie Martin a rendu le livre qu’elle avait


emprunté. Supprimez cet emprunt de la table Emprunts.

From BLUE LIFE TECH - LAPTOP 01 ~ ALLADAYE Sarlas

Vous aimerez peut-être aussi