0% ont trouvé ce document utile (0 vote)
68 vues47 pages

Cours 4 Bases de Données SQL

Transféré par

Meryam nassi
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)
68 vues47 pages

Cours 4 Bases de Données SQL

Transféré par

Meryam nassi
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 BASES DE DONNÉES

08:30
EESA
M5
2022 / 2023

1
COURS BASES DE DONNÉES
SQL
1 Définition

L'abréviation SQL désigne " Structured


Query Language ", ou "langage de requête
structuré".

13/03/2023 08:30
2
COURS BASES DE DONNÉES
SQL
1 Définition

La plupart des SGBD offrent la


possibilité d'effectuer des recherches
directement dans les tables.
Ils offrent également la possibilité de
poser pratiquement n'importe quelle
"question" à nos tables, sous forme de
requêtes.
13/03/2023 08:30
3
COURS BASES DE DONNÉES
SQL
1 Définition

Les requêtes servent à créer des tables


et à répondre aux questions basées sur le
contenu d'une ou de plusieurs tables.
Elles vont servir à afficher certaines
données contenues dans les tables selon
certains critères.

13/03/2023 08:30
4
COURS BASES DE DONNÉES
SQL
1 Définition

Elles peuvent aussi faire des calculs sur


vos données, ainsi que créer des sources de
données pour les formulaires, les états ou
même d'autres requêtes (on peut faire une
requête sur le résultat d'une autre requête).
Elles servent encore à modifier des
tables existantes ou à en créer des nouvelles.
13/03/2023 08:30
5
COURS BASES DE DONNÉES
SQL
1 Définition

Chaque requête suit le cycle suivant :

Formuler Exécuter Résultat de


la requête la requête la requête

13/03/2023 08:30
6
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.

Nous allons voir deux types :

Maintenance des bases de données ;

Manipulations des bases de données..

13/03/2023 08:30
7
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Maintenance des bases de données.

create table
alter table
create index

13/03/2023 08:31
8
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
create table

La commande CREATE TABLE permet


de créer une table dans la base de données
courante.
Sa syntaxe est la suivante :

13/03/2023 08:31
9
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
create table

CREATE TABLE nom de table (champ type


CONSTRAINT champ propriétés, ... );

13/03/2023 08:31
10
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
create table
Paramètre Signification
Champ Nom du champ
Type * Char(x) : chaîne de caractères, x est le nombre de caractères.
* Integer : Nombre entier, positif ou négatif.
* Date : Une date et/ou heure.
* Logical : Deux valeurs possibles : oui / non.
* etc …..
Propriétés Propriétés du champ :
* NULL ou NOT NULL : autorise ou non que le champ puisse être
vide.
* UNIQUE : indique que deux enregistrements ne pourront avoir la
même valeur dans ce champ.
13/03/2023 08:31 * PRIMARY KEY : indique que ce champ est la clef primaire.
11
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
create table

Exemple
Créer une table "clients" contenant trois
champs :
un champ avec un entier qui doit toujours
être saisi et deux champ contenant une
chaîne de 15 et 45 caractères.
13/03/2023 08:31
12
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
create table

CREATE TABLE clients (champ1 integer


CONSTRAINT champ1 NOT NULL,
champ2 char(15),
champ3 char(45));

13/03/2023 08:31
13
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
alter table

La commande ALTER TABLE permet de


modifier la structure d'une table.
Sa syntaxe est la suivante :

13/03/2023 08:31
14
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
alter table

ALTER TABLE nom_table Action


(spécifications du champ);

13/03/2023 08:31
15
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
alter table

ALTER TABLE permet trois actions, ces


actions sont :
ADD Ajoute un champ à une table ;
DROP Supprime un champ d'une table ;
MODIFY Modifie les caractéristiques d'un
champ.
13/03/2023 08:31
16
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
alter table

Après l'action, on indique, entre


parenthèses, les spécifications du champ.
On ne peut faire qu'une action à la fois
(ajout, suppression ou modification dans la
même commande).

13/03/2023 08:31
17
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
alter table
Exemple.
Ajout d'un champ Date :
ALTER TABLE clients ADD (Date);

Suppression du champ2 :
ALTER TABLE clients DROP champ2;
13/03/2023 08:31
18
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
alter table
Exemple.
Modification du champ3
ALTER TABLE clients MODIFY (champ3
char(25));

13/03/2023 08:31
19
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
create index
Cette commande permet de créer un
index sur une table. Sa syntaxe est :
CREATE UNIQUE INDEX nom_index ON
table (liste de champs);
nom_index est le nom de l'index,
table est le nom de la table.
13/03/2023 08:31
20
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
create index
Un index peut être composé d'un ou de
plusieurs champs, la liste de ces champs est
indiquée entre parenthèses après le nom de la
table.

13/03/2023 08:31
21
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
create index
Enfin, la clause UNIQUE indique à SQL
si l'index créé va être unique ou s'il peut
contenir plusieurs fois la même valeur dans la
table.
S'il peut contenir plusieurs fois la même
valeur, il ne faudra pas ajouter la clause
UNIQUE.
13/03/2023 08:31
22
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
create index
Exemple :
Création d'un index sur le champ1

CREATE UNIQUE INDEX index1 ON clients


(champ1);

13/03/2023 08:31
23
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.

Une fois les tables créées, on peut


commencer à y insérer des données, les
mettre à jour, les supprimer ou y faire des
requêtes.
Toutes ces opérations sont des opérations
de manipulation des bases de données.
13/03/2023 08:31
24
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
Pour effectuer ces manipulations, on
dispose de 4 instructions :
La requête sélection
La requête Mise à Jour
La requête Ajout
La requête Suppression
13/03/2023 08:31
25
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
La requête sélection.
C'est celle qu'on utilisera le plus souvent.
Elle permet de sélectionner des
enregistrements, de faire des calculs et des
regroupements. Elle ressemble beaucoup aux
filtres, mais permet, en plus, de travailler sur
plusieurs tables simultanément .
13/03/2023 08:31
26
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
La requête sélection
Voici sa syntaxe :
SELECT <Nom d'un champ>, <Nom d'un
champ>, ... FROM <Nom de la table> WHERE
<Critères de sélection>;

13/03/2023 08:31
27
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
La requête sélection
Exemple :

SELECT prénom, nom


FROM clients
WHERE code_postal = 80000;
13/03/2023 08:31
28
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
La requête sélection
Exemple :
SELECT * FROM Clients;
L'opérateur * permet d'afficher tous les
champs définis dans la table.

13/03/2023 08:31
29
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
La requête sélection
Exemple :
SELECT * FROM produits
WHERE prix_unitaire > 100;
La clause where permet d’exprimer des
conditions portant sur les lignes de la
13/03/2023 08:31
table définie par la clause from.
30
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
La requête d'insertion.

INSERT INTO <Nom de la table> [(<Liste des


champs>)] VALUES (<Valeurs pour les
champs>);

Nous distinguons deux formes.


13/03/2023 08:31
31
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
La requête d'insertion.
1ère forme.

INSERT
INTO table (champ1, champ2,...)
VALUES ('valeur1','valeur2',...);

13/03/2023 08:31
32
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
La requête d'insertion.
1ère forme.
Cette forme est utilisée lorsqu'on veut insérer
un seul enregistrement ou une partie d'un seul
enregistrement. On créera un nouveau dont
le contenu du champ1 sera valeur1,
le contenu du champ2 sera valeur2, etc...
13/03/2023 08:31
33
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
La requête d'insertion.
1ère forme.
Exemple :
INSERT
INTO clients
VALUES (120, ‘KENZI',‘Ali',‘Av. ZIZ ',’80000’,
’AGADIR’);
13/03/2023 08:31
34
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
La requête d'insertion.
2ème forme.

INSERT
INTO table (champ1, champ2,...)
(requête);

13/03/2023 08:31
35
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
La requête d'insertion.
2ème forme.
Exemple.
INSERT INTO
clients_Ag(nom,prenom,adresse)
(SELECT nom,prenom,adresse
FROM clients
WHERE ville='Agadir')
13/03/2023 08:31
36
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
La requête d'insertion.
2ème forme.

Cette méthode est utilisée lorsque plusieurs


enregistrements sont ajoutés simultanément.

13/03/2023 08:31
37
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
La requête d'insertion.
2ème forme.
Dans les deux cas, les valeurs insérées
doivent correspondre au type de données du
champ dans lequel l'insertion va être faite. Les
chaînes de caractères doivent être placées
entre apostrophes ( ' ).
13/03/2023 08:31
38
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
La requête de modification.
UPDATE <Nom de la table>
SET <Nom d'un champ>={valeur}, <Nom d'un
champ>={valeur}, ...
WHERE <Critères de sélection>;

13/03/2023 08:31
39
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
La requête de modification.
La clause SET indique quels champs de
la table vont être mis à jour et avec quelles
valeurs ils vont l'être. Ceux non spécifiés
après la clause SET ne seront pas modifiés.
UPDATE produits SET prix_unitaire = 1000
WHERE libelle = 'prod1';
13/03/2023 08:31
40
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
La requête de modification.
La commande UPDATE peut contenir
une requête pour la condition.
Dans ce cas la syntaxe est la suivante :

13/03/2023 08:31
41
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
La requête de modification.
UPDATE table
SET champ1 = nouvelle_valeur1,
champ2 = nouvelle_valeur2,
champ3 = nouvelle_valeur3
WHERE condition =
(requête);
13/03/2023 08:31
42
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
La requête de suppression.
La commande DELETE supprime des
enregistrements entiers, c'est pour cela que
ce n'est pas nécessaire d'indiquer ici
des noms de champs. La condition spécifiée
après WHERE va déterminer quels sont les
enregistrements à supprimer.
13/03/2023 08:31
43
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
La requête de suppression.

DELETE FROM <Nom de la table>


WHERE <Critères de sélection>;

DELETE FROM table;


Cette variante supprime tout les
enregistrements contenus dans la table.
13/03/2023 08:31
44
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
La requête de suppression.

DELETE FROM <Nom de la table>


WHERE <Critères de sélection>;

DELETE FROM clients


WHERE ville='Tanger‘;
13/03/2023 08:31
45
COURS BASES DE DONNÉES
SQL
2 Types de requêtes.
Manipulations des bases de données.
La requête de suppression.
On peut aussi, utiliser une requête qui servira
à déterminer la condition de la suppression.
La syntaxe est la suivante :
DELETE
FROM table
WHERE condition =
13/03/2023 08:31 ( requête ); 46
COURS BASES DE DONNÉES
SQL

Merci pour votre attention

13/03/2023 08:31
47

Vous aimerez peut-être aussi