Langage SQL
Interrogation des données (requêtes)
SELECT : Ce que l’on cherche
FROM : les relations Les attributs qu’on veut à la sortie
DISTINCT : sans les doublons AS : alias
Déclaration des variables
Relation as R
Group By
SELECT ALL | DISTINCT attr1 , attr2….
formation des FROM Relation1 AS R1 , Relation2 AS R2 …
sous-relations WHERE conditions
Having
Restriction sur les GROUP BY attr1 , …
sous-relations HAVING condition WHERE : conditions à satisfaire
Conditions de restriction et de jointure
Order by ORDER BY attr1 , … Opérateurs :
tri du résultat
<, <=, =, <>, >=, >, AND, OR, NOT, NULL,
AVG(x), SUM(x), MAX(x), MIN(x), LIKE, BETWEEN,
COUNT ( x | * ) IN, EXISTS…
Calcul sur les valeurs de l'attribut x
1
(Select, Having)
Langage SQL
Langage Manipulation Données (LMD)
• INSERT INTO : ajout de nouveaux n-uplets
INSERT INTO nom_table ( attr_1 , attr_2 , … )
VALUES (valeur_1 , valeur_2 , … )
• DELETE FROM : suppression de n-uplets
DELETE FROM nom_table WHERE condition
• UPDATE : mises à jour des n-uplets
UPDATE nom_table SET attr_1 = val_1 , attr_2 = val_2 , …
WHERE condition
2
Langage SQL
Langage Définition des Données (LDD)
CREATE TABLE nom_table
( attribut_1 domaine_attribut_1 contrainte_attrb_1,
attribut_2 domaine_attribut_2 contrainte_attrb_2 , …
contrainte_relations ) ;
Contrainte sur attribut Contrainte sur relation
Domaine de valeur : types des
Clé primaire (composée) :
données
PRIMARY KEY ( attr1,attr2 , … )
INTEGER, VARCHAR,
Contrainte référentielle :
NUMERIC… FOREIGN KEY ( attr1 , attr2 , … )
Domaine obligatoire : NOT NULL
REFERENCES table
Valeur par défaut :
( attr1 , attr2 , … )
DEFAULT valeur
Clé primaire : PRIMARY KEY
Unicité de l’attribut : UNIQUE
3
Langage SQL
Langage Définition des Données (LDD)
• Type des données
– Numérique :
• INTEGER : nb entier jusqu’à 32 bits (-231 ~ 231)
• SMALLINT : nb entier jusqu’à 16 bits (-215 ~ 215)
• DECIMAL (n, p) : nb réel de n chiffres, dont p après la virgule
• NUMERIC (n, p) : idem DECIMAL (max p après la virgule)
• FLOAT : nb réel
– Chaîne de caractères
• CHAR (n) : chaîne de caractères de longueur n
• VARCHAR (n) : chaîne de caractères de taille variable (max n)
• TEXT (n) : idem VARCHAR (accepté par certains SGBD)
– Temporel
• DATE : date (2009-11-09)
• TIME : heure (00:11:22.333)
– Logique
• Boolean : valeur booléenne, vrai ou faux (‘True’ ou ‘False’)
4
Langage SQL
Langage Définition des Données (LDD)
• ALTER TABLE : modification d’une relation par
l’ajout ou suppression d’une colonne
ALTER TABLE nom_table
ADD attribut_1 domaine_1 contrainte_attrb
DROP attribut_1
• DROP TABLE : suppression d’une relation
DROP TABLE nom_table ;