FaxInfo - L'Informatique au Lycée!

FaxInfo - L'Informatique au Lycée!

Leçon : LES REQUETES SQL

LES REQUETES SQLwordpress-sql.jpg

Compétences visées :

A la fin de ce cours l'apprenant doit être capable de:

- Ecrire des requêtes simples en utilisant les commandes SQL suivantes :create, alter, drop, add, select,
insert, delete...

- Interpréter un problème et aboutir à la création et manipulation de la base de données et ses tables.requete23.gif

 

INTRODUCTION

    Une fois la base de données créée, nous avons besoin d’un langage qui nous permettra de la manipuler. Pour cela on fait recours à un langage de manipulation des bases de données, le SQL (Structured Query Language) . Comme déjà évoqué dans le précédent cours nous étudierons ici quelques commandes du langage SQL 

  I. ETUDE DES REQUETES SQL

     Les requêtes de création de bases de données et des tables ont fait l'objet du cours Langage SQL et création d’une base de données. Nous allons continuer ici avec d'autres requêtes de définition de données et surtout des requêtes de manipulation des données.

 

              1. Suppression d’une base de données ou d’une table

Elle s’effectue à l’aide de la commande DROP

Syntaxe :

a) Cas de la base de données : DROP DATABASE nom_base ;
Exemple : DROP DATABASE club_info ;
b) Cas d’une table : DROP TABLE nom_table ;
Exemple : DROP TABLE membre;

              2. Modification de la structure d’une table  

La commande ALTER TABLE permet de modifier la structure d’une table. Sa syntaxe est la suivante :

ALTER TABLE action(spécification du champ).

ALTER TABLE permet les actions suivantes

-          ADD qui ajoute un champ à la table

-          DROP qui supprime un champ à la table.

 

Exemple1 : ajout du champ sexe à la table membre

ALTER TABLE membre ADD (sexe VARCHAR(10)) ;

Exemple2 : Suppression du champ sexe de la table membre

ALTER TABLE membre DROP (sexe) ;

          

      3. Ajout d’un enregistrement

La commande INSERT est utilisée pour ajouter des enregistrements ou des parties d’enregistrements dans les tables ; sa syntaxe est la suivante :

INSERT INTO nom_table(champ1, champ2,… champn)VALUES(‘’valeur1 ‘’, ‘’valeur2 ‘’,…, ‘’valeurn’’) ;
Exemple : INSERT INTO membre (numero,nom, prenom,classe,poste)VALUES(1, ‘’Dibango ‘’, ’’Pauline’’,  ‘’TAESP’’, ‘’ communication’’) ;

Résultat d cette requête

Numero

Nom

Prenom

Classe

Poste

1

Dibango

Pauline

TAESP

Communication

 

                 4.Suppression d’un enregistrement

Pour supprimer des enregistrements d’une table on utilise la commande DELETE. Sa syntaxe est la suivante :

DELETE FROM nom_table WHERE condition ;

Exemple1 : pour supprimer tous les membres du club info qui font la classe de TD2 on utilise la requête suivante :

DELETE FROM membre WHERE (classe=’’TD2’’) ;

Exemple2:Considérons la table membre suivante :

Numero

Nom

Prenom

age

Classe

Poste

1

Dibango

Pauline

19

TAESP

Communication

2

Degoge

Brenda

10

6eme1

censeur

3

Djoun

Suzanne

18

TD2

Simple membre

4

Azapmo

Sandra

16

TD2

secretaire

La requête DELETE FROM membre WHERE (age>16  and classe=’’TD2’’) ; permet de supprimer le membre Djoun Suzanne de la TAESP

                      5. Modification d’un enregistrement

Il est possible de modifier les champs d’un enregistrement. La syntaxe est la suivante :

UPDATE nom_table SET champ1= ‘’Valeur1’’, …, champ1= ‘’Valeurn’’) WHERE (condition) ;

Exemple : Pour modifier la classe de Djoun Suzanne dans la table précédente on utilise la requête

UPDATE membre SET classe= ‘’TAESP’’ WHERE (nom=’’Djoun’’) ;

                    6.  Interrogation des données

    La sélection d’enregistrements est la requête la plus employée avec SQL. Elle permet de rechercher des informations à partir d’une ou de plusieurs tables, suivant d’éventuels critères. Elle retourne une valeur ou une pseudo-table, appelée dans le jargon de programmation «jeu d'enregistrement ou recordset».

Sa syntaxe est :

SELECT [ALL]|[DISTINCT] [attributs]|* FROM liste_table
[WHERE] Condition1
[GROUP BY] liste_champ
[HAVING] condition2
[ORDER BY] liste_champ [ASC]|[DESC];

Une requête SELECT suit la procédure suivante :

  • On sélectionne des colonnes avec la clause SELECT : on parle de projection.
  • On choisit les tables avec la clause FROM. Lorsqu’il y en a plus d’une on parle de jointure;
  • On filtre les enregistrements avec la clause WHERE : on parle de restriction;
  • On regroupe les enregistrements avec la clause GROUP BY : on parle de regroupement;
  • On filtre les enregistrements de chaque groupe avec la clause HAVING : on parle de restriction de groupe;
  • On trie les enregistrements avec la clause ORDER BY : on parle de tri;

La syntaxe simplifiée que nous utiliserons le plus souvent dans ce cours est la suivante :

SELECT  [attributs] | * FROM liste_table   [WHERE] Condition1;

Exemple: La requête permettant de sélectionner les noms et prénoms des membres du club âgés de plus de 20 est la suivante :

SELECT nom, prenom FROM membre WHERE age>20 ;

 

II. EXEMPLE PRATIQUE

on va s'attarder ici une fois de plus sur la création et la manipulation de la base de données du club informatique (bd_clubinfo)

Enoncé:

On veut informatiser la gestion du club informatique du LYBIDE. Pour cela on vous demande de :

- Créer la base de données ‘’bd_clubinfo’’

- Créer la table ‘’membre’’ sachant qu’un membre est identifié par un numéro, son nom, son prenom, son sexe, son age, son poste

- Ajouter la colonne ‘’classe’’ à la table membre

-Enregistrer les membres suivants

  •  (1, MISSE, Yvan, 10, M, adhérent, 6EME1);
  •  (2, EMANBO, Steriane, 18, F, adhérente, TD2);
  •  (3, WANSI, Edgar, 15, M, censeur, 2ndeC1);
  •  (4, FANKAM, Deschamps, 16, M, adherent, PC);

-Modifier l’âge de EMAMBO (nouvel âge=20) ;

-Supprimer les membres qui sont en TD2 ;

 

Solution :

1) CREATE DATABASE ‘’bd_clubinfo’’ ;

 

2) CREATE TABLE membre(

numero Integer(3),

nom VARCHAR(20),

prenom VARCHAR(20),

age INTEGER(2),

sexe VARCHAR(1),

poste VARCHAR(20),

CONSTRAINT PRIMARY KEY (numero)

) ;

 

3) ALTER TABLE membre ADD (classe VARCHAR(25)) ;

 

4)      INSERT INTO membre()VALUES (1, ‘’MISSE’’, ‘’Yvan’’, 10, ‘’M’’, ‘’adhérent’’, ) ;

(Faire pareil pour les autres enregistrements)

 

5)      UPDATE membre SET age=20 WHERE (nom=’’EMAMBO’’) ;

 

6)      DELETE FROM membre WHERE (classe= TD2);

 

Exercices: 6,7 et 8 de la fiche de TD sur les bases de données

 

Conclusion:

Exercez vous à conclure le cours

Fiche de travaux dirigés

N'hésitez pas  laissez un petit commentaire.

 



15/01/2016
1 Poster un commentaire

A découvrir aussi


Ces blogs de Enseignement & Emploi pourraient vous intéresser

Inscrivez-vous au site

Soyez prévenu par email des prochaines mises à jour

Rejoignez les 30 autres membres