Langage SQL
BENAZZOUG Nawel
Langage SQL
Introduction
SQL est un langage de programmation standardisé utilisé dans les systèmes de
gestion de bases de données relationnelles.
Les requêtes SQL sont un ensemble de commandes utilisées pour interagir avec
une base de données. Elles permettent de manipuler les bases de données ainsi
que leur objets.
Il existe plusieurs types de requêtes SQL, chacun ayant une fonction spécifique.
2
Langage SQL
1. Définition :
SQL (Structured Query Langage ou Langage de requêtes structuré) est un
langage de base de données relationnelle existant sur tous les SGBD
relationnels (Oracle, Access,...).
SQL comporte quatre ensembles :
Le langage de définition des données (LDD)
Le langage de manipulation des données (LMD)
Le Langage de contrôle des données (LCD)
Le Langage de contrôle des transactions (LCT)
Remarque:
Les langages LCD et LCT ne sont pas traités de ce cours 3
Langage SQL
2. Le Langage de Définition des Données (LDD):
C’est la partie SQL qui permet de créer la base de données ainsi que
ses objets en occurrence les tables.
Le langage LDD contient ces trois instructions:
1. La commande CREATE
2. La commande ALTER
3. La commande DROP
4
Langage SQL
3. Le Langage de manipulation des Données (LMD):
C’est la partie SQL qui permet de manipuler les données d’une
table. C’est-à-dire elle insère, modifie et supprime des données
stockées dans une base de données.
Le langage DML contient les instructions suivantes:
1. La commande SELECT
2. La commande INSERT
3. La commande DELETE
4. La commande UPDATE 5
Langage SQL
4. Elément de syntaxe:
a. Les commentaires:
Des chaines de caractères non exécutables.
Syntaxe:
commentaire à une de ligne (deux tirets ) --
/* commentaire qui s’écrit
sur plusieurs lignes */
b. Directives de lot :
GO : cette commande est utilisée pour signaler la fin d’un lot d’instructions et
de délimiter des lots.
6
Langage SQL
5. Types de données:
tinyint Nombre entier , sa valeur entre 0 et 255
int Nombre entier 32 bits
real Nombre flottant
float Nombre flottant 32 bits
char chaîne de caractères longueur fixe, de 1 à 4000
varchar chaîne de caractères de longueur variable 8000
nchar chaîne de caractères (Unicode ) de longueur fixe, de 1 à 4000
nvarchar chaîne de caractères (Unicode )de longueur variable de 1 à 8000
date de format : YYYY-MM-JJ de 1000-01-01 à 9999-12-31
datetime date et heure de format : YYYY-MM-JJ HH:MM:SS de 1000-01-01 [Link] à 9999-12-31 [Link]
7
money Valeur monétaire
Langage SQL
6. Les contraintes :
Dans une base de données, une contrainte d'intégrité permet de garantir la
cohérence des données afin que les données saisies soient conformes aux
données attendues.
Il est possible d’ajouter 6 types de contraintes :
NULL ou NOT NULL valeur nulle ou non
UNIQUE unicité
PRIMARY KEY clé primaire
FOREIGN KEY clé étrangère
CHECK validation
DEFAULT valeur par défaut
8
Langage SQL
La propriété identity:
C’est une colonne dont la valeur est auto incrément .
La table peut contenir une seule colonne avec la
propriété identity.
La colonne doit être de type entier
9
Langage de définition
des données
LDD
Langage SQL
1. Manipuler une BD:
Créer une base .
create database nombasedonnee
Sélectionner une base de données parmi d’autre
use nombase.
Supprimer une base de données:
drop database nombase
11
Exercice 1 dans TP1
Langage SQL
2. Manipuler une table :
Créer une table:
create table nomtable (
nomcolonne1 typedonnée1 [contrainte],
nomcolonne2 typedonnée2 [contrainte],
…);
Ou
create table nomtable (
nomcolonne1 typedonnée1 ,
nomcolonne2 typedonnée2 ,
Constraint nomContrainte typeContrainte (nomcolonne)
…); 12
Langage SQL
Exemple1:
1ere syntaxe :
create table Employe(
num int not null primary key,
nom varchar(20),
DateEmbauche date default getdate(),
telephone char(10) unique,
situation_f char(1) check (Situation_f in ('C', 'M', 'V') ),
n_dept int foreign key references Dept(n_dept)
);
13
Langage SQL
Exemple2:
2eme syntaxe
create table employe(
num int not null ,
nom varchar(32),
DateEmbauche date default getdate(),
telephone char(10),
Situation_f char(1),
n_dept int,
Constraint pk_num primary key (num),
Constraint fk_ndept foreign key (n_dept) references Dept(n_dept)
Constraint cValide check(Situation_f in ('C', 'M', 'V') )
Constraint cUnique unique (telephone )
); 14
Exercice 2 dans TP1
Langage SQL
2. Manipuler une table :
Supprimer une table :
drop table nomtable
Modifier une table : Alter est pour la modification.
Ajouter une colonne:
alter table nomtable add ( nomcolonne type [, <contrainte>]… );
Supprimer une colonne:
alter table nomtable drop column nomcolonne
15
Langage SQL
Modifier le type d’une colonne:
- Il est possible d'augmenter et de diminuer la taille d'une colonne ;
- De changer le type d'une colonne vide ;
- Il est possible de modifier la définition d'une colonne, à condition que la
nouvelle définition soit compatible avec le contenu de la colonne;
alter table nomtable
alter column nomcolonne type [contraint]
16
Exercice 3 dans TP1
Langage SQL
3. Manipuler Les contraintes d’intégrité:
Ajouter une contrainte:
Ajouter une contrainte c’est modifier la table
Syntaxe :
alter table nomtable
add constraint nomconstraint typecontainte ( column);
Clé étrangère
alter table nomtable
CONSTRAINT nomcontrainte FOREIGN KEY nomcolonne REFERENCES nomtableréférence
(nomcolonneréférence)
Exemple:
alter table client
add constraint ukmail unique (mail);
17
Langage SQL
3. Manipuler Les contraintes d’intégrité:
Ajout d'une Contrainte Exemple:
alter table stagiaire
alter table nomtable
add constraint uc unique (mail)
add constraint nomcontrainte typecontrainte (nomcolonne)
Exemple:
Suppression d'une Contrainte
alter table stagiaire
alter table nomtable drop constraint pk
drop constraint nomcontrainte
18
Exercice 4 dans TP1
Langage SQL
TP général sur les requêtes LDD
19