0% ont trouvé ce document utile (0 vote)
71 vues5 pages

Introduction Au Langage SQL

Ce document présente une introduction au langage SQL, en détaillant ses rôles et ses catégories d'instructions, notamment le langage de définition de données (LDD) et le langage de manipulation de données (LMD). Il explique comment créer, modifier et supprimer des bases de données et des tables, ainsi que comment manipuler les enregistrements à l'aide de requêtes SQL. Enfin, il propose des exercices pratiques pour appliquer les concepts appris dans un contexte éducatif.

Transféré par

Gainyo Consulting
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
71 vues5 pages

Introduction Au Langage SQL

Ce document présente une introduction au langage SQL, en détaillant ses rôles et ses catégories d'instructions, notamment le langage de définition de données (LDD) et le langage de manipulation de données (LMD). Il explique comment créer, modifier et supprimer des bases de données et des tables, ainsi que comment manipuler les enregistrements à l'aide de requêtes SQL. Enfin, il propose des exercices pratiques pour appliquer les concepts appris dans un contexte éducatif.

Transféré par

Gainyo Consulting
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd

Introduction au langage SQL

Introduction au langage SQL


Compétences visées :
A la fin de cette leçon, je dois être capable de :

 Définir SQL et donner son rôle ;


 Ecrire des requêtes SQL de définitions de données (clauses CREATE, DROP, ALTER)
 Ecrire les requêtes de manipulations d’enregistrements (clauses INSERT, UPDATE)
 Ecrire les requêtes de sélection de données (clause SELECT)
 Utiliser les clauses WHERE et ORDER BY dans un SELECT

INTRODUCTION
Le langage SQL (Structured query language) peut être considéré comme le langage d’accès standard
et normalisé, destiné à interroger ou à manipuler une base de données relationnelle Il a fait l’objet
de plusieurs normes ANSI/ISO dont la plus répandue aujourd’hui est la norme SQL2 qui a été définie
en 1992. Le succès du langage SQL est dû essentiellement à sa simplicité et au fait qu’il s’appuie sur
le schéma conceptuel pour énoncer des requêtes en laissant le SGBD responsable de la stratégie
d’exécution. Néanmoins, le langage SQL ne possède pas la puissance d’un langage de programmation
: entrées/sorties, instructions conditionnelles, boucles et affectations. Pour certains traitements, il
est donc nécessaire de coupler le langage SQL avec un langage de programmation plus complet. De
manière synthétique, on peut dire que SQL est un langage relationnel, il manipule donc des tables
par l’intermédiaire de requêtes qui produisent également des tables.

I. Catégories d’instructions
Les instructions SQL sont regroupées en catégories en fonction de leur utilité et des entités
manipulées. Nous pouvons distinguer cinq catégories, qui permettent :

 un langage de définition de données (LDD)


 un langage de manipulation de données (LMD)
 un langage de contrôle de données (LCD),
 un langage de contrôle des transactions (LCT)
 et d'autres modules destinés notamment à écrire des routines (procédures, fonctions ou
déclencheurs) et interagir avec des langages externes.

Dans le cadre de ce cours, nous nous limiterons aux deux premières catégories.

1. Langage de définition de données


Le langage de définition de données (LDD, ou Data Definition Language, soit DDL en anglais) est un
langage orienté au niveau de la structure de la base de données. Le LDD permet de créer, modifier,
supprimer des objets. Il permet également de définir le domaine des données (nombre, chaîne de
caractères, date, booléen, . . .) et d’ajouter des contraintes de valeur sur les données.

2. Langage de manipulation de données


Le langage de manipulation de données (LMD, ou Data Manipulation Language, soit DML en anglais)
est l’ensemble des commandes concernant la manipulation des données dans une base de données.
Le LMD permet l’ajout, la suppression et la modification de lignes, la visualisation du contenu des
tables et leur verrouillage.

II. Les instructions SQL


1. Langage de Définition des Données (LDD)
a. Créer une base de données : CREATE DATABASE

il suffit d’utiliser la requête suivante qui est très simple : CREATE DATABASE nom_BD ;
b. Supprimer une base de données : DROP DATABASE

Pour supprimer une base de données la requête est la suivante : DROP DATABASE nom_BD ;
c. Créer une table : CREATE TABLE

Une table est un ensemble de lignes et de colonnes. La création consiste à définir (en fonction de
l’analyse) le nom de ces colonnes, leur format (type).
La commande de création de table la plus simple ne comportera que le nom et le type de chaque
colonne de la table. A la création, la table sera vide, mais un certain espace lui sera alloué. La syntaxe est
la suivante :
CREATE TABLE nom_table ( nom_col1 TYPE1,
nom_col2 TYPE2,
.
.
nom_coln TYPEn);
Les types de données peuvent être :
INTEGER : Ce type permet de stocker des entiers signés codés sur 4 octets.
BIGINT : Ce type permet de stocker des entiers signés codés sur 8 octets.
REAL : Ce type permet de stocker des réels comportant 6 chiffres significatifs codés sur 4
octets.
DOUBLE PRECISION : Ce type permet de stocker des réels comportant 15 chiffres significatifs
codés sur 8 octets.
NUMERIC[(précision, [longueur])] : Ce type de données permet de stocker des données
numériques à la fois entières et réelles avec une précision de 1000 chiffres significatifs. longueur précise
le nombre maximum de chiffres significatifs stockés et précision donne le nombre maximum de chiffres
après la virgule.
CHAR(longueur) : Ce type de données permet de stocker des chaînes de caractères de
longueur fixe. longueur doit être inférieur à 255, sa valeur par défaut est 1.
VARCHAR(longueur) : Ce type de données permet de stocker des chaînes de caractères de
longueur variable. longueur doit être inférieur à 2000, il n’y a pas de valeur par défaut.
DATE : Ce type de données permet de stocker des données constituées d’une date.
TIMESTAMP : Ce type de données permet de stocker des données constituées d’une date et
d’une heure.
BOOLEAN : Ce type de données permet de stocker des valeurs Booléenne.
MONEY : Ce type de données permet de stocker des valeurs monétaires.
TEXT : Ce type de données permet des stocker des chaînes de caractères de longueur variable.

d. Supprimer une table : DROP TABLE

Supprimer une table revient à éliminer sa structure et toutes les données qu’elle contient.
Les index associés sont également supprimés.
La syntaxe est la suivante : DROP TABLE nom_table ;

e. Modifier une table : ALTER TABLE

Ajout ou modification de colonne


ALTER TABLE nom_table {ADD/MODIFY} (nom_colonne type, ...) ;
Renommer une colonne
ALTER TABLE nom_table RENAME COLUMN ancien_nom TO nouveau_nom ;
Renommer une table
ALTER TABLE nom_table RENAME TO nouveau_nom ;

2. Langage de manipulation de données (LMD)


a. Insertion de n-uplets : INSERT INTO

La commande INSERT permet d’insérer une ligne dans une table en spécifiant les valeurs à
insérer. La syntaxe est la suivante :
INSERT INTO nom_table(nom_col1, nom_col2, ...)
VALUES (val_1, val_2, ...) ;
La liste des noms de colonne est optionnelle. Si elle est omise, la liste des colonnes sera par défaut la
liste de l’ensemble des colonnes de la table dans l’ordre de la création de la table. Si une liste de
colonnes est spécifiée, les colonnes ne figurant pas dans la liste auront la valeur NULL.
b. Modification de n-uplets : UPDATE

La commande UPDATE permet de modifier les valeurs d’une ou plusieurs colonnes, dans une ou
plusieurs lignes existantes d’une table. La syntaxe est la suivante : 24
UPDATE nom_table
SET nom_col_1 = valeur_1,
nom_col_2 = valeur _2,
...
nom_col_n = valeur _n

WHERE condition;
c. Suppression de n-uplets : DELETE

La commande DELETE permet de supprimer des lignes d’une table.


La syntaxe est la suivante :
DELETE FROM nom_table
WHERE condition ;
Toutes les lignes pour lesquelles « condition » est évalué à vrai sont supprimées. En l’absence de
clause WHERE, toutes les lignes de la table sont supprimées.
d. la commande SELECT

La commande SELECT constitue, à elle seule, le langage permettant d’interroger une base de
données. Elle permet de :

 sélectionner certaines colonnes d’une table (projection) ;


 sélectionner certaines lignes d’une table en fonction de leur contenu (sélection) ;

Une requête (une interrogation) est une combinaison d’opérations portant sur des tables
(relations) et dont le résultat est lui-même une table dont l’existence est éphémère (le temps de la
requête).
Une requête se présente généralement sous la forme :
SELECT { * | attribut [, ...] }
FROM nom_table [, ...]
[ WHERE condition ] ;

 la clause SELECTpermet de spécifier les attributs que l’on désire voir apparaître dans le résultat de
la requête ; le caractère étoile (*) récupère tous les attributs de la table générée par la
clause FROM de la requête ;
 la clause FROMspécifie les tables sur lesquelles porte la requête ;
 la clause WHERE, qui est facultative, énonce une condition que doivent respecter les n-uplets
sélectionnés.

En fait l’ordre SQL SELECT est composé de 7 clauses dont 5 sont optionnelles :

 SELECT : Cette clause permet de spécifier les attributs que l’on désire voir apparaître dans le
résultat de la requête
 FROM : Cette clause spécifie les tables sur lesquelles porte la requête
 WHERE : Cette clause permet de filtrer les n-uplets en imposant une condition à remplir pour qu’ils
soient présents dans le résultat de la requête
 GROUP BY : Cette clause permet de définir des groupes
 ORDER BY : Cette clause permet de trier les n-uplets du résultat. Par défaut les résultats sont
classés par ordre ascendant, toutefois il est possible d’inverser l’ordre en utilisant le
suffixe DESC après le nom de la colonne.

Exercice d’application +corrigé


Lors de la rentrée scolaire, on enregistre dans une base de données les différents élèves du Lycée
Bilingue de Ndop dans leurs classes respectives et par la suite, on affecte des professeurs dans ces
classes afin d'enseigner les diverses matières au programme. La description de cette base de
données est la suivante :

Eleve(Matricule, NomEleve, PrenomEleve, Classe, DateNaissance),


Professseur(CodeProfesseur, NomProfesseur, PrenomProfesseur),

1. Proposer un nom à cette base de données. Quels sont ses différentes tables ?

Gestion_Etablissement. Ses tables sont : Eleve et Professeur.


2. Donner l’identifiant de chaque table.

Identifiant de la table Eleve : Matricule


Identifiant de la table Professeur : CodeProfesseur
3. Proposer un type de données pour chaque champ des différentes tables.

VARCHAR pour tous les champs sauf DateNaissance qui est de type DATE
4. Donner les requêtes SQL de création de la base de données et des différentes tables.

CREATE DATABASE Gestion_Etablissement.


CREATE TABLE Eleve(
Matricule VARCHAR
NomEleve VARCHAR
PrenomEleve VARCHAR
Classe VARCHAR
DateNaissance DATE) ;

CREATE TABLE Professeur (


CodeProfesseur VARCHAR
NomProfesseur VARCHAR
PrenomProfesseur VARCHAR) ;
5. L’on a oublié la matière du professeur dans la structure de la base. Donner la requête SQL pour ajouter
le champ « matière ».

ALTER TABLE Professeur


ADD Matiere VARCHAR ;
6. Donner la requête d’insertion de l’élève : " AA01549, Abocheni, Eveline, TleA"

INSERT INTO Eleve (Matricule, NomEleve, PrenomEleve, Classe)


VALUES(“AA01549 “,“Abocheni “, “Eveline “, “TleA”);
7. L’élève Abocheni a plutôt pour matricule ‘AA01540’. Donner la requête SQL de modifiation de son
matricule

UPDATE Eleve SET Matricule=” AA01540” WHERE Nom = “Abocheni”;


8. Donner la requête SQL suivante : Quel est le matricule, le nom et le prénom des élèves de TleA?

SELECT (Matricule, NomEleve, PrenomEleve) FROM Eleve WHERE Classe= “TleA”;


9. Donner la requête SQL suivante: Quel est le nom et le prénom des professeurs d’Informatique ?

SELECT(NomProfesseur, PrenomProfesseur) FROM Professeur WHERE Matiere= “Informatique ”;

Vous aimerez peut-être aussi