Chapitre 4 : Initiation au langage SQL
Travaux Pratiques
Lancer wampserver
Double click sur le wampserver
Une fois que le wampserver est lancé, normalement, il devrait y avoir son Logo W, dans la barre des
tâches.
Comme ceci
Si la couleur de W est VERTE, ça veut dire que ça marche
Si la couleur est en ROUGE ou ORANGE, ça veut dire qu’il manque certains fichiers DLL manquant
(comme [Link], etc.). Pour résoudre cela, il suffit de télécharger les DLL manquants et les copier
dans C:\Windows\SysWOW64 si votre PC est 64bits ou copier dans C:\Windows\System32 si votre PC est
32bits. Puis faire la réinstallation
Lancer Mysql console
Pour notre TP, on va d’abord s’appliquer sur le Mysql console.
Etape 1 : Cliquer sur W
Etape 2 : Cliquer sur MySQL
Etape 3 : Cliquer sur MySQL console
Après avoir cliquer sur MySQL console, une interface de console s’ouvre
Cette interface vous demandera un mot de passe, mais pour débuter, il n’y a pas encore un mot de passe
affecté donc il suffit de taper sur Enter tout simplement et vous obtenez ceci :
Passer au niveau physique
Pour le TP, on va utiliser le schéma logique suivant :
CLIENT(Codecli, Nom, Ville, Datenais, Solde)
PRODUIT(Codepro, Libelle, Pu, Couleur, Poids)
COMMANDE(Codecli, Codepro, Qte_com)
Le langage SQL
Le SQL (Structured Query Language ou Langage d’interrogation structuré) est un langage standard des
SGBD relationnelles (SGBDR) conçu par IBM pour interroger et manipuler des bases de données
Présenté par : une Instruction ou une Commande ou une Requête
Se termine par un point-virgule ( ; )
Créer une base de données
On va créer une base de données nommée grossiste.
La ligne de commande pour créer une nouvelle base de données est comme suit:
CREATE DATABASE grossiste ;
Pour vérifier si la base de données est crée dans Mysql est comme suit :
SHOW DATABASES ;
Normalement, la base de données « grossiste » s’affiche dans la liste des bases de données. Les autres bases
de données dans la liste sont déjà là par défaut par l’installation.
Supprimer une base de données
La ligne de commande pour supprimer une base de données est comme suit:
DROP DATABASE grossiste ;
Pour vérifier si c’est vraiment supprimer, relancer SHOW DATABASES ;
Pour la suite de notre TP, on va re-créer la base de données grossite ;
CREATE DATABASE grossiste ;
Sélectionner une base de données à utiliser
Chacun des SGBD a sa manière de sélectionner une base de donées, mais pour Mysql, la ligne de commande
est comme suit :
USE grossiste ;
Créer une table
Commençons par créer la table CLIENT(Codecli, Nom, Ville, Datenais, Solde)
Dictionnaire des donnés
Rubrique Type des rubriques Type des données Format
Codecli Alphanumérique Varchar
Nom Alphabétique Char
Ville Alphanumérique Varchar
Datenais Date Date AAAA-MM-JJ
Solde Numérique Int/double/float
NB : Les formats de date dans MySQL (AAAA-MM-JJ) commence par l’année-mois-jour. Ex : 2023-02-21
CREATE TABLE client(codecli varchar(15), nom char(50), ville varchar(25), datenais date, solde int);
La valeur varchar(15) indique que le codecli va contenir 15 chaînes de caractère au maximum.
Pour vérifier si la table est bien créer, la ligne de commande Mysql est comme suit :
SHOW tables ;
Pour regarder la description d’une table :
DESCRIBE client ;
Supprimer une table
La ligne de commande pour supprimer une table est comme suit:
DROP TABLE client ;
Vérifier par : SHOW tables ;
Créer une table avec affectation de clé primaire
Pour définir le clé primaire dans une table, il existe 2 façons :
-mettre primary key(nomColonne) à la fin du requête :
CREATE TABLE Client (Codecli VARCHAR(15), Nom CHAR(50), Ville VARCHAR(25), Datenais
DATE, Solde INT, primary key(Codecli));
-Ou juste après le type de données:
CREATE TABLE Client (Codecli CHAR(15) not null primary key, Nom VARCHAR(50), Ville
CHAR(25), Datenais DATE not null, Solde INT);
NB: not null impose une colonne qui devrait être non nulle.
Vous choisirez entre les deux façons. Pour le TP, le choix va se porter sur la 1ère façon :
Pour vérifier : DESCRIBE Client ;
Ajouter un tuple ou un enregistrement dans une table
Pour entrer des informations dans une table, utiliser la commande :
INSERT INTO nom_table (colonne1, colonne2, ...) VALUES (valeur,valeur,…) ;
facultatif
Exemple 1
INSERT INTO Client (Codecli,Nom,Ville,Datenais,Solde) VALUES ("C01",'RABE','Tana','1956-10-
15',12000) ;
Cet exemple indique d’ajouter les valeurs selon l’ordre de colonne indiqué. Cela veut dire que ça peut être
en désordre selon les besoins.
Exemple 2
INSERT INTO Client (Codecli,Nom,Solde) VALUES("C02",'RABE',12000);
Cet exemple indique d’ajouter 3 valeurs seulement et les restes en null.
Exemple 3
INSERT INTO Client VALUES("C03",'RABE','Tana','1956-10-15',12000);
Cet exemple indique d’ajouter les valeurs selon l’ordre des colonnes dans la table.
NB : Pour faire entrer les valeurs,
Type des données Règlement Exemple
Clé primaire Mettre dans une double quote "…" "C02"
Chaine des caractères Mettre dans une simple quote '…' 'RABE'
Date Mettre dans une simple quote '…' '1956-10-15'
Numérique Ne rien mettre 12000
NB : Si on ajoute une deuxième fois une clé primaire déjà existante, cela ne devrait pas être accepté.
Afficher les enregistrements dans une table
La requête permettant d’afficher tous les enregistrements dans une table est comme suit :
SELECT * FROM Client;
Afficher les enregistrements dans une table
La requête permettant de supprimer tous les enregistrements dans une table est comme suit :
DELETE from Client ;
Pour verifier, relancer : select * from Client ;
Ajouter plusieurs enregistrements dans une table
Il est possible d’ajouter plusieurs tuples à une table avec une seule requête.
Voici les informations à ajouter :
Pour ce faire, il convient d’utiliser la syntaxe suivante :
INSERT INTO Client VALUES
("C1",'RABE','Tana','1956-10-15',12000),
("C2", 'RANDRIA','Tana','1975-10-12',13000),
("C3", 'DUPONT','Tana','1975-10-02',25000),
("C4", 'RAKOTO', 'Diego','1958-10-13',20000),
("C5", 'DURANT', 'Paris','1976-10-15',30000);
Chaque enregistrement est séparé par des virgules et se termine par un point virgule.
Pour vérifier si les enregistrements sont bien insérés, lancer : select * from Client ;
DEVOIR
1- Créer la table Produit(Codepro, Libelle, Pu, Couleur, Poids)
2- Ajouter les enregistrements suivant :
3- Créer la table Commande(Codecli, Codepro, Qte_com) // La relation commande comporte double
clé primaire, donc utiliser : primary key(Codecli,Codepro)
4- Ajouter les enregistrements suivant :
Supprimer un enregistrement dans une table
La requête permettant de supprimer un enregistrement spécifique dans une table est comme suit :
Syntaxe : DELETE FROM TABLE <nom de la table> where <nom_attribut> = valeur;
Delete from Client where Codecli="C4";
Ceci indique de supprimer le client ayant le code C4
En lançant Select * from Client; C4 ne devrait plus être affiché dans la table client
Modifier un enregistrement dans une table
Pour modifier un tuple, il convient d’utiliser la syntaxe suivante :
UPDATE <nom_table> SET <attribut > = { <terme> NULL } [, <attribut> = { <terme> NULL } ]
WHERE <formule > ;
Update Client set Nom='Maria' where Codecli="C3";
Ceci indique de modifier le nom du client C3 par Maria
Le nom a changé