O. Auzende Ingénierie Web
3
Insertion, suppression et modification d’occurrences
L’insertion d’une occurrence par SQL se fait grâce à INSERT
INSERT INTO Etudiant VALUES (.., …,…,…) ;
La suppression d’une occurrence se fait par DELETE
DELETE FROM Etudiant
WHERE num_etudiant = … (valeur de la clé) ;
La modification d’une occurrence se fait par UPDATE
UPDATE Etudiant SET adresse=…
WHERE num_etudiant = … (valeur de la clé) ;
Interrogation de la base
La forme générale d’une interrogation SQL (appelée une requête) est :
SELECT attributs FROM relations WHERE conditions ;
Dans la clause optionnelle WHERE, on peut utiliser les opérateurs AND et OR.
SGBD mySQL
MySQL est un Système de Gestion de Bases de Données Relationnelles. Il comprend deux programmes
principaux :
o mysqladmin pour les tâches d’administration du serveur (arrêt et démarrage, création de bases).
o mysql qui lit les requêtes SQL, les transmet au serveur qui les exécute et affiche ensuite le résultat
Sous Windows, le serveur easyPHP couple un serveur Web et un serveur mySQL.
Lancer easyPHP.
Création de la base
On crée la base de données appelée enseignement puis on la remplit à l’aide du fichier
baseenseignement.dump fourni, dont le contenu est le suivant :
CREATE TABLE ELEVE (code_eleve tinyint(4) NOT NULL AUTO_INCREMENT, nom varchar(30), prenom
varchar(30), PRIMARY KEY(code_eleve));
INSERT INTO ELEVE VALUES(1, 'Dupuis', 'Pierre');
INSERT INTO ELEVE VALUES(2, 'Simon', 'Virginie');
...
CREATE TABLE ENSEIGNANT (code_professeur tinyint(4) NOT NULL AUTO_INCREMENT, nom varchar(30),
prenom varchar(30), PRIMARY KEY(code_professeur));
INSERT INTO ENSEIGNANT VALUES(1, 'Dupont', 'Serge');
INSERT INTO ENSEIGNANT VALUES(2, 'Didier', 'François');
...
CREATE TABLE UV (code_UV tinyint(4) NOT NULL AUTO_INCREMENT, nom varchar(20), annee
tinyint(2), code_professeur tinyint(4), PRIMARY KEY(code_UV));
INSERT INTO UV VALUES(1, 'Mathématiques', 1, 1);
INSERT INTO UV VALUES(2, 'Histoire', 1, 2);
INSERT INTO UV VALUES(3, 'Economie', 1, 5);
INSERT INTO UV VALUES(4, 'Anglais', 1, 3);
INSERT INTO UV VALUES(5, 'Mathématiques', 2, 1);
INSERT INTO UV VALUES(6, 'Géographie', 2, 2);
...
CREATE TABLE NOTE (code_eleve tinyint(4), code_UV tinyint(4), note tinyint(2), PRIMARY
KEY(code_eleve, code_UV));
INSERT INTO NOTE VALUES(1, 1, 12);
INSERT INTO NOTE VALUES(1, 2, 9);
...
INSERT INTO NOTE VALUES(2, 1, 11);
INSERT INTO NOTE VALUES(2, 2, 13);
...