Le langage SQL est compris par toutes les bases de données
actuelles.
Il permet de faire toutes sortes de tâches sur les enregistrements,
les tables, les champs.
C'est un language simple qui permet d'effectuer des actions très
complexes.
Sélectionner
des enregistrements
SELECT est utilisé pour
rechercher des enregistrements, selon des critères spécifiques.
SELECT a besoin du nom des champs, des tables.
On l'utilise avec
FROM pour déclarer la ou les tables.
S'il y a une condition, il s'utilise avec le mot
WHERE.
SELECT nomchamp1,
nomchamp2 FROM latable WHERE "condition";
-
nomchamp1, nomchamp2 sont les noms des champs
-
latable est la table dans laquelle on veut extraire les
données
-
WHERE est optionnel et indique une condition
-
condition : cela peut être une clause de type égalité
supérieur ou autre.
LIKE
: Cette instruction s'emploie avec
WHERE pour rechercher
des enregistrements comprenant une chaîne. Elle utilise le
signe %
- ex :
SELECT nom
FROM client WHERE nom LIKE 'A%';
- Cet exemple recherche les noms qui commencent par
A dans
la table
client
Pour sélectionner tous les champs d'une table sans les écrire
tous dans la requête
on utilise
* :
SELECT * FROM
fournisseur;
Nous pouvons spécifier un ordre de tri grâce à
:
ORDER BY
-
SELECT * FROM
fournisseur ORDER BY nom;
(sélectionne les fournisseurs et les classe alphabétiquement
par leur nom)
On peut ajouter
ASC pour un tri ascendant et
DSC pour
un tri descendant
Les opérateurs pour la condition
WHERE :
|
=
|
égale |
|
<
|
inférieur à |
|
>
|
supérieur à |
|
<=
|
inférieur ou égal à |
|
>=
|
supérieur ou égal à |
|
<>
|
différent de |
Ajouter des enregistrements
Pour ajouter un enregistrement à la base, on utilise la commande
INSERT INTO.
INSERT INTO
nomdetable (champ_1, champ_2, champ_n)
VALUES (val_1, val_2, val_n);
-
nomdetable est le nom de la table où l'on va ajouter
les enregistrements
-
champ_n sont les champs de la table pour lesquesls on va
ajouter les valeurs
-
val_n sont le valeurs qui vont s'ajouter dans les champs
Exemple :
INSERT INTO
client (nom, prenom, ville) VALUES ('Dupont','Pierre','Paris');
Attention : Les valeurs chaîne doivent être entre guillemets
' (
simple quote)
Mettre à jour
des enregistrements
Il faut utiliser la commande
UPDATE. Elle s'utilise conjointement
avec
SET
et un opérateur. On utilise aussi la clause
WHERE
qui garde la même syntaxe que précédemment (voir
sélection d'enregistrements). Syntaxe à utiliser :
UPDATE nomdetable SET champ1=valeur,champ_n=valeur_n
WHERE champ_x OPERATEUR val_x;
-
nomdetable est le nom de la table dans laquelle va s'effectuer
la mise à jour d'un ou plusieurs enregistrements
-
champ représente le ou les champs de la table
-
champ_x=val_x représente la condition de mise à
jour
-
OPERATEUR est un opérateur (voir sélection
d'enregistrements).
Exemple :
UPDATE
client SET nom='Dupont' WHERE id_client=51;
-
client est le nom de la table
- on va remplacer la valeur actuelle du champ
nom par la
valeur
Dupont pour l'enregistrement où le numéro
de
client est
51
Créer une
TABLE
On utilise
CREATE TABLE. Cela permet de créer les
champs de la table.
CREATE TABLE
nomdetable (champ_1 type(contrainte),champ_n type(contrainte));
-
nomdetable est le nom de la table à créer
-
champ_ est le nom du champ à créer
-
type est le type de champ
Valeurs de champ possibles :
| char(taille) |
chaîne fixe de caractères de longueur
"taille" |
| varchar(taille) |
chaîne variable de caractères de
longueur maximum "taille" |
| number(taille) |
nombre dont le maximum est "taille" |
| number(taille,d) |
nombre dont le maximum est "taille"
avec "d" décimales |
| date |
format date |
Effacer des enregistrements
Pour effacer des enregistrements de votre base, vous devez utiliser
la fonction
DELETE.
Elle s'emploie avec l'instruction
FROM et accepte la condition
WHERE.
Voici la syntaxe à utiliser :
DELETE FROM
nomdetable WHERE champ_n OPERATEUR valeur_n;
-
nomdetable est le nom de la table où l'on va effacer
les enregistrements
-
champ_n OPERATEUR valeur_n représente la condition
de suppression
Exemple :
DELETE FROM employe WHERE
nom='Dupont';
On efface de la table
employe l'enregistrement pour lequel
le champ
nom
a la valeur
Dupont.