Faculté des Sciences et Techniques de Tanger MIP S4
Support de cours « Bases de données »
Cours 5
LANGAGE DE MANIPULATION DE DONNEES (SQL)
1. Qu’est ce que SQL ?
SQL (Structured Query Language) est un langage de manipulation de bases de
données mis au point dans les années 70 par IBM. Il permet, pour résumer, trois
types de manipulations sur les bases de données :
La maintenance des tables : création, suppression, modification de la structure
des tables.
Les manipulations des bases de données : Sélection, modification, suppression
d'enregistrements.
La gestion des droits d'accès aux tables : Contrôle des données : droits
d'accès, validation des modifications.
L'intérêt de SQL est que c'est un langage de manipulation de bases de données
standard, vous pourrez l'utiliser sur n'importe quelle base de données, même si, à
priori, vous ne connaissez pas son utilisation. Ainsi, avec SQL, vous pouvez gérer
une base de données Access, mais aussi Paradox, dBase, SQL Server, Oracle ou
Informix par exemple (les bases de données les plus utilisées).
2. Famille du Langage SQL
Le langage SQL se répartit en 3 familles principales:
a) Langage de manipulation des données LMD
LMD (Langage de Manipulation de Données) permet la manipulation des tables et des vues. Pour
manipuler la Base de Données on a les commandes :
Select : Pour la recherche de données
Insert : Pour l'insertion dans une table
Delete : Pour la suppression dans une table
Update : Pour la modification dans une table
b) LDD (Langage de Définition de Donnée)
Permet la création et la définition des tables, vues, index, attributs. Pour définir le schéma de BD on a
les commandes :
Déclaration de tables, des vues
Déclaration des droits d'accès
Déclaration de contraintes d'intégrités
c) LCD (Langage de Contrôle de Données)
Permet de définir des permissions au niveau des utilisateurs d'une base de données.
3. La maintenance d’une base de données
La première série de commandes sert à la maintenance de la base de données :
Page 1/20
Faculté des Sciences et Techniques de Tanger MIP S4
création des tables et des indexes, modification de la structure d'une table ou
suppression d'une table ou d'un index.
Remarque : La maintenance des bases de données dépend étroitement de la base de données utilisée,
notamment en ce qui concerne les types de données, vérifiez donc toujours les types de données supportés par
votre SGBD avant de créer une table avec SQL. Il se peut qu'il en supporte plus que ceux indiqués plus bas.
SQL dispose pour cela des instructions suivantes :
1) ALTER TABLE
2) CREATE TABLE
3) Drop TABLE
2.1 La commande CREATE Table
La commande CREATE TABLE permet de créer une table dans la base de
données courante. Sa syntaxe est la suivante :
CREATE TABLE Nom_Table (champ type CONSTRAINT champ propriétés, ... );
Exemple :
Nom de la clé Primaire
CREATE TABLE Client(Code_cli integer constraint PK Primary Key, Nom_cli char(30), Pre_cli
char(30), Email char(30) NOT NULL );
Remarque:
Pour le champ Email on l’a marqué NOT NULL, c-à-d, si on n’insère pas l’email du client courant
et on veut insérer un autre enregistrement, le message d’erreur suivant apparaitra :
Le tableau suivant récapitule les types de données et les propriétés des champs
supportés par SQL :
Page 2/20
Faculté des Sciences et Techniques de Tanger MIP S4
Champ Nom du champ
Type Type de données, dans la plupart des versions de SQL, vous aurez droit aux types de
données suivants :
Char(x) : chaîne de caractères, x est le nombre maximum de caractères
autorisés dans le champ.
Integer : Nombre entier, positif ou négatif
Decimal (x,y) : Nombre décimal, x est le nombre maximum de chiffres et y
le nombre maximum de chiffres après la virgule.
Decimal ne fonctionne pas avec Access, il ne supporte que le type 'float'
(flottant), le type float ne permet pas d'indiquer le nombre de chiffres après
ou avant la virgule
Date : Une date et/ou heure ;
Logical – Deux valeurs possibles : oui / non
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.
PRIMARY KEY : indique que ce champ est la clef primaire
CHECK (condition) : équivaut à la propriété "ValideSi" d'Access, va forcer SQL a
faire une vérificatio n de la condition avant de valider la saisie, exemple : CHECK
(prix > 100) interdira la saisie dans ce champ si la valeur contenue dans le champ prix
est inférieure à 100.
CHECK ne fonctionne pas avec Access.
DEFAULT = valeur, place une valeur par défaut dans le champ
(ne fonctionne pas avec Access)
DEFAULT ne fonctionne pas avec Access
2.2 La commande DROP TABLE
La commande DROP TABLE permet de supprimer une table, sa syntaxe est :
DROP TABLE Nom_table ;
Exemple :
Drop TABLE Etudiants ;
2.3 la commande ATLER TABLE
La commande ALTER TABLE permet de modifier la structure d'une table, ALTER TABLE permet trois actions,
ces actions sont :
ADD Ajoute un champ a une table
DROP Supprime un champ d'une table
MODIFY Modifie les caractéristiques d'un champ
Page 3/20
Faculté des Sciences et Techniques de Tanger MIP S4
Syntaxes :
1) Ajout d’une colonne
ALTER TABLE Nom_table
ADD Nom_colonne Type(Taille) ;
Exemple :
ALTER TABLE Client
ADD Adresse char(50) ;
2) Modification de la taille d’une colonne
ALTER TABLE Nom_table
MODIFY Nom_colonne Type(Nouvelle_Taille) ;
Exemple :
ALTER TABLE Client
MODIFY Adresse char(70) ;
Remarque : dans le cas de la modification de la taille il faut que la table soit vide si la nouvelle taille et
inférieure à la précédente.
3) Suppression d’une colonne
ALTER TABLE Nom_table
Drop Nom_colonne;
Exemple :
ALTER TABLE Client
Drop Adresse ;
Page 4/20