Apprendre le SQL
Écrit par : Ken Bourgoin
Définition
Sql, ou « Structured Query Language » (en français, Langage de recherche structuré), est un langage de manipulation de bases de données mis au point dans les années 70 par IBM. Son principal avantage est qu'il est indépendant, ou presque, du gestionnaire de base de données utilisés. Bref, il n'y a qu'un seul langage SQL présentant de légères différences d'un SGBD (Système de gestion de base de données comme Access, MySql, Oracle, etc.) à un autre. Le SQL nous permet 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.
Attention : Pour les exemples de requêtes SQL qui vont suivre, la nomenclature d'Access sera utilisée.
La maintenance des tables
La première série de commandes sert à la maintenance de la base de données : création des tables et des indexes, modification de la structure d'une table ou suppression d'une table ou d'un index. SQL dispose, entre autre, des commandes suivantes pour la maintenance des tables ;
- CREATE TABLE
- ALTER TABLE
CREATE TABLE table (champ type CONSTRAINT champ propriétés, ... );
l'option type fait référence au type du champ (texte, numérique, date, etc.) tandis que l'option propriété vient spécifier si le champs est un clé primaire ou ne peut prendre la valeur null.
Exemple avec la commande Create table ;Créer la nouvelle table « Étudiants » contenant deux champs : un champ avec un entier qui doit toujours être saisi et un champ contenant une chaîne de 25 caractères.
CREATE TABLE Étudiants (champ1 integer CONSTRAINT champ1 NOT NULL, champ2 char(25));
Les manipulations des bases de données
Une fois les tables créées, on peut commencer à y insérer des données, les mettre à jour, les supprimer ou y faire des interrogations. Toutes ces opérations sont des opérations de manipulation des bases de données.
Pour effectuer ces manipulations, SQL dispose des instructions suivantes :
- INSERT
- UPDATE
- DELETE
- SELECT
L'utilité de cette commande est d'insérer des enregistrements dans les tables.
Syntaxe :
INSERT
INTO table (champ1,champ2,...)
VALUES ('valeur1','valeur2',...);
Exemple :
L'insertion d'un nouvel étudiant dans la table Étudiants, en utilisant le nom, le prénom et l'âge comme champ de cette table.
INSERT INTO Étudiants (nom, prénom, âge) VALUES (« Bush », « Georges », 85) ;
Veuillez noter que les informations textes doivent être entre guillemets et les information de type Date entre # (exemple #12-01-07#).
UPDATELa commande UPDATE est utilisée pour changer des valeurs dans des champs d'une table.
Syntaxe :UPDATE table SET champ1 = nouvelle_valeur1, champ2 = nouvelle_valeur2, champ3 = nouvelle_valeur3 WHERE condition;
La clause SET indique quels champs de la table vont être mis à jour et avec quelles valeurs ils vont l'être. Les champs non spécifiés après la clause SET ne seront pas modifiés.
Exemple :
La modification de l'âge de l'étudiant Georges Bush pour 90 ans.
UPDATE Étudiants SET âge = 90 WHERE nom = « Bush » AND prénom = « Georges »
La clause Where de cette commande sert à trouver l'enregistrement dont l'âge doit être modifié.
SELECTCette commande va servir à faire des requêtes pour récupérer des données dans les tables.
Syntaxe :SELECT champ1, champ2, champ3, ... FROM table;
S'il y a plus d'un champ spécifié après SELECT, les champs doivent être séparés par des virgules. Les champs sont retournés dans l'ordre spécifié après la clause SELECT, et non pas dans l'ordre qu'ils ont été créés dans la table.
Exemple :
La sélection du nom et du prénom de tous les étudiants de la table Étudiants.
SELECT nom, prénom FROM Étudiants ;
La sélection du nom et du prénom des étudiants qui ont plus de 18 ans.
SELECT nom, prénom FROM Étudiants WHERE âge > 18;DELETE
Pour supprimer des enregistrements d'une table, utilisez la commande DELETE.
Syntaxe :DELETE FROM table WHERE condition;
On ne peut pas supprimer seulement le contenu de quelques champs des enregistrements. La commande DELETE supprime des enregistrements entiers, c'est pour cela qu'il n'est pas nécessaire d'indiquer ici des noms de champs. La condition spécifiée après WHERE va déterminer quels sont les enregistrements à supprimer.
Exemple :
La suppression de l'étudiant Georges Bush.
DELETE FROM Étudiants WHERE nom = « Bush » AND prénom = « Georges » ;
La suppression des étudiants qui ont moins de 18 ans.
DELETE FROM Étudiants WHERE âge < 18;
Références
http://cerig.efpg.inpg.fr/tutoriel/bases-de-donnees/chap18.htm
http://sqlpro.developpez.com/

