avant de commencer

publicité
INTRODUCTION
SQL, c'est quoi?
SQL (Structured Query Language ou langage de requêtes structuré) est un langage qui permet la
définition de données, la création de requêtes, la manipulation de données et la gestion des accès
pour les bases de données relationnelles. Pour Internet, il y a plusieurs applications possibles,
comme la gestion des utilisateurs.
En fait, le SQL est divisé en différents langages :




DDL (Data Definition Language ou Langage de Définition de Données) qui permet de créer,
modifier et supprimer les tables de la base de données qui contiendront les données;
DML (Data Manipulation Language ou Langage de Manipulation de Données) qui permet
d'ajouter de nouvelles données, de les modifier ou de les mettre à jour;
DQL (Data Query Language ou Langage de Requête de Données) qui permet à l'utilisateur
de créer, modifier et supprimer une requête sur la base de données pour obtenir de
l'information selon certains critères. Récemment, ce langage a été inclus des programmes
d'aide à la création de requête qui interprètent une phrase en anglais et la transforment en
SQL;
DCL (Data Control Language ou Langage de Control de Données) qui permet de gérer
l'accès à la bases de données.
AVANT DE COMMENCER
C'est IBM qui est à l'origine de ce langage informatique. SQL est un dérivé du langage SEQUEL
(Structured English Query Langage) mis au point en 1974.
Par la suite, il y a eu plusieurs évolution du langage pour en arriver au SQL.
Le SQL a été commercialisé pour la première fois par Oracle Corporation.
Plusieurs autres compagnies l'ont adopté pour proposer leur propre solution SQL, comme
Informix, DB/2, Sybase et Ingres.
L'ANSI (American National Standard Institute) a normalisé le SQL en 1986. L'institut l'a ensuite
révisé en 1989 et plus récemment en 1992. Malgré tout, chaque système de base de données
relationnelles sur le marché a ses propres particularités.
Ce dont vous avez besoin

Pour créer une base de données, il vous faut un logiciel de bases de données pour créer les
table et enregistrer l'information.
Évidemment, vous pouvez opter pour la base de données Oracle 9i® ou SQL Server de
Microsoft® mais elles sont surtout dédiées pour des applications commerciales.
Vous pouvez utiliser les logiciels MS Access® ou Paradox®, mais il est également
possible de créer une base de données simple avec un tableur tel MS Excel® ou Lotus 12-3®.
Enfin, il existe quelques systèmes de gestion de base de données (SGBD) ouverts et
gratuits d'utilisation tels MySQL et PostgreSQL;

Pour enregistrer et accéder à vos données, un langage script, comme JavaScript et
VBScript, vous permettra d'effectuer toutes les manipulations nécessaires.
1
RESTREINDRE UNE SELECTION
Le langage SQL offre différentes possibilités pour restreindre la sélection et ainsi obtenir une
information plus précise.
Voici les clauses restrictives :
Opérateur logique
NOM
DESCRIPTION
AND
Et logique
OR
Ou logique
NOT
NON logique
Opérateur de comparaison de chaînes
NOM
BETWEEN
LIKE
IS NULL
DESCRIPTION
Vérifie si un élément est inclus dans un
intervalle.
Permet d'effectuer une comparaison
approximative. Cette clause utilise les
opérateurs :
% pour remplacer n'importe quelle
chaîne de caractères
_ pour remplacer un seul caractère
– pour définir un intervalle de caractère.
Vérifie si un champ est NULL.
Opérateurs arithmétiques
NOM
DESCRIPTION
+
Effectue une addition.
-
Effectue une soustraction.
*
Effectue une multiplication.
/
Effectue une division.
%
Effectue un modulo.
Opérateur binaires
NOM
DESCRIPTION
&
Opérateur ET binaire
|
Opérateur OU binaire
^
Opérateur Ou exclusif binaire
~
Opérateur NON binaire
2
Opérateur de comparaison
NOM
DESCRIPTION
=
Égale
!=
N'est pas égal.
>
Plus grand que.
>=
Plus grand ou égal que.
<
Plus petit que.
>=
Plus petit ou égale que.
<>
N'est pas égal.
Exemples
Soit la table suivante, présentant des membres d’un site :
PRÉNOM
NOM
AGE
COURRIEL
PAYS
Joe
Sakic
29
[email protected]
USA
Raymond
Bourque
36
[email protected]
USA
Paul
Côté
48
[email protected]
France
Carl
Marotte
32
[email protected]
Canada
Bill
Mortimer 53
[email protected]
USA
Paul
Côté
25
[email protected] Canada
Jean
Périn
59
[email protected]
Canada
La sélection de tous les membres ayant un âge inférieur à 50 se fait par l'instruction:
SELECT * FROM MEMBRE
WHERE (Age < 50)
Résultat:
PRÉNOM NOM AGE
Joe
Sakic
Raymond
29
COURRIEL
PAYS
[email protected]
USA
Bourque 36
[email protected]
USA
Paul
Côté
48
[email protected]
France
Carl
Marotte
32
[email protected]
Canada
Paul
Côté
25
[email protected] Canada
3
La sélection des colonnes Prénom et Nom des voitures ayant un âge inférieur à 35 se fait par
l'instruction:
SELECT Prenom, Nom, Age
FROM MEMBRE
WHERE (Age < 35)
Résultat:
PRÉNOM NOM AGE
Joe
Sakic
29
Carl
Marotte 32
Paul
Côté
25
La sélection de tous les membres ayant un âge inférieur ou égal à 55, mais supérieur ou égal à 50,
se fait par l'instruction:
SELECT *
FROM MEMBRE
WHERE (50 <= 100000) AND (55 >= 30000)
Résultat:
PRÉNOM
Bill
NOM
AGE COURRIEL PAYS
Mortimer 53
[email protected] USA
La sélection des membres dont le prénom a un E en troisième position se fait par l'instruction:
SELECT *
FROM MEMBRE
WHERE Prenom LIKE _E%
Résultat:
PRÉNOM NOM AGE
Joe
Sakic
29
COURRIEL
PAYS
[email protected] USA
La sélection de tous les membres ayant un âge inférieur ou égal à 50, mais supérieur ou égal à 30,
(effectuée plus haut avec des comparateurs arithmétiques) peut se faire par l'instruction:
SELECT *
FROM MEMBRE
WHERE Age BETWEEN 50 AND 30
Résultat:
PRÉNOM NOM AGE
COURRIEL
PAYS
Raymond
Bourque 36
[email protected]
USA
Paul
Côté
48
[email protected] France
Carl
Marotte
32
[email protected]
Canada
4
La sélection des membres dont le nom est Côté ou Bourque se fait grâce à l'instruction:
SELECT *
FROM MEMBRE
WHERE Nom IN (Côté, Bourque)
Résultat:
PRÉNOM NOM AGE
COURRIEL
PAYS
Raymond
Bourque 36
[email protected]
USA
Paul
Côté
48
[email protected]
France
Paul
Côté
25
[email protected] Canada
La sélection de toutes les voitures d'occasion dont le kilométrage n'est pas renseigné se fait par
l'instruction:
SELECT *
FROM MEMBRE
WHERE Pays IS NULL
Résultat:
PRÉNOM NOM AGE
Jean
Périn
59
COURRIEL
PAYS
[email protected] Canada
TRI ET REGROUPEMENT DE DONNEES
SQL permet d'effectuer certaines opérations d'agrégation pour regrouper les valeurs pour obtenir
un sommaire des résultats. Ces opérations sont effectuées à l'aides des fonctions suivantes :
NOM
AVG
DESCRIPTION
Fait la moyenne sur une colonne.
COUNT Calcul le nombre de lignes de la sélection.
MAX
Retourne la valeur maximum d'une colonne.
MIN
Retourne la valeur minimum d'une colonne.
SUM
Additionne les valeurs d'une colonne.
L'affichage des moyennes des âges par Pays se fait par l'instruction:
SELECT AVG(Age) AS Moyenne, Pays
FROM MEMBRE
GROUP BY Pays
Résultat :
PAYS MOYENNE
Canada
28.5
France
48
USA
39.33
5
Téléchargement